以下為本站文章分類清單

  1. AJAXspacer
  2. ASPspacer
  3. CSSspacer
  4. Javascriptspacer
  5. Windows 應用程式spacer
  6. 網頁設計
  7. 評論、短文、雜文spacer
  8. 版主spacer
  9. 最新回應spacer

以下為本頁本文內容

aspSmartUpload 的安裝與使用

aspSmartUpload 3.3 by http://www.aspsmart.com

aspSmartUpload 是一個知名的免費套件,用於微軟 IIS 系列伺服主機,提供上傳檔案介界。目前版本為 3.3 已經支援 Windows 2003 Server,過去上傳檔案存在位置若是有中文路徑名稱,則無法使用的缺點,在這版也已經修正。不過遺憾的,對於中文檔名,一樣未能有效處理存檔,會產生 代碼 1120 的錯誤。

這裡,先介紹安裝及使用方式,至於中文檔名的解決方案,再另文說明。

首先,這裡是下載位址, 解開後,除了有說明文件和範例外,有兩個 dll 檔案,分別是

aspSmartUpload.dll
aspSmartUploadUtil.dll

首先註冊 aspSmartUpload.dll,在開始功能程式集裡,選擇執行,輸入:

regsvr32 <檔案路徑>\aspSmartUpload.dll


另一個檔案 aspSmartUploadUtil.dll 請複製到系統目錄 system32 底下,如果你使用 XP Professional 那系統目錄就是 C:\Windows\system32 ,如果是 NT/2000 Server,那就是 C:\WINNT\system32

這兩個動作都作完,代表準備就緒。

表單範例:

<FORM METHOD="POST" ACTION="Sample1.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>

這份表單沒有什麼特殊之處,唯一要注意的,上傳絕對是使用二進位方式上傳,所以編碼上要加 ENCTYPE="multipart/form-data

而對應到上方表單的上傳程式例如下:

<% '如果發生錯誤,先跳過
On Error Resume Next
'宣告變數
Dim mySmartUpload
Dim intCount
'建立 aspSmartUpload 物件
Set mySmartUpload = Server.CreateObject
("aspSmartUpload.SmartUpload")
'執行上傳
mySmartUpload.Upload
'將檔案存放到指定位置,這裡的指定位置可以使用相對路徑或絕對路徑
intCount = mySmartUpload.Save("/Upload")
'以下使用絕對路徑的寫法
'intCount = mySmartUpload.Save("c:\temp\")
'顯示上傳成功訊息
Response.Write(intCount & " file(s) uploaded.")
%>

如果想指定上傳的大小及格式,在上傳前 (mySmartUpload.Upload) 加入

myUploadfile.MaxFileSize = 1000000000
myUploadfile.AllowedFilesList = "jpg,gif"

其中,MaxFileSize 的單位是位元組(byte)

在程式尾端,如果發生錯誤,則可以用下列程式碼判斷是否有發生錯誤

IF Err Then
Response.Write Err.description
END IF

至於中文檔名上傳錯誤的問題,下回再寫篇過去我的處理方法和大家研究研究。

以下為文章回應區

同意轉載,不過麻煩看一下轉載需知

Chia   2011/9/15 上午 01:01:00

您好 版大:
在註冊aspsmartupload.dll時
發生

模組"c:\temp\aspsmartupload.dll"已經載入,但是呼叫
DllRegisterServer失敗,錯誤為0x80004005。

此錯誤視窗。

麻煩幫忙解答

evey   2011/1/14 下午 05:51:00

老師,請問,由於我在主檔給予一個固定值
<INPUT TYPE=FILE SIZE="40" NAME="FILE1">
<INPUT TYPE=SUBMIT VALUE="上傳" SIZE="40">
<INPUT naem="S" type="text" value="12345">=>固定值
想把這個值傳到UPLOAD.asp,但是無論怎麼試都沒辦法接收到,找了有關這方面的資訊,但無論怎麼測試是空值
--UPLOAD.asp--
<%
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

mySmartUpload.Upload

S = mySmartUpload.Form("S") =>取的值都是為空的
response.write "值=" & S

%>

嗚嗚   2009/11/13 下午 04:55:00

檔案不能下載吶~

fangkaty   2009/5/7 下午 02:11:00

我們的網站使用aspsmartuploadutil
按大大的方式作,
也會有下列的問題!

是怎麼回事呢?

File not found: aspsmartuploadutil.dll

卜維丰   2009/3/12 下午 05:50:00

水瓶浪子,

極有可能是 IIS 限制了上傳大小
你找找 Google, 有關 metabase.xml 的修改

水瓶浪子   2009/3/5 上午 10:06:00

先進您好:
我的是可以上傳,但是現在過到的是,上傳的容量如果太大的話,則會出現以下的問題~~~~

要求物件 錯誤 'ASP 0104 : 80004005'
不允許的操作
/uploadFiles.asp, 列32

請問有什麼方式可以,讓比較大的檔案也可以上傳呢?謝謝先進們的指導。

Rebecca Liu   2009/2/4 下午 05:42:00

假如這行拿掉 On Error Resume Next
會出現這個錯誤訊息,
是什麼意思呢??
這樣,到底元件有沒有安裝成功呀??

錯誤類型:
伺服器物件, ASP 0177 (0x800401F3)
無效的 ProgID。 若需此訊息的其他資訊,請查看 Microsoft 線上支援站台: http://www.microsoft.com/contentredirect.asp。
/Sample1.asp, line 8

Rebecca Liu   2009/2/4 下午 04:55:00

看到成功的訊息了 file(s) uploaded.
但我找不到上傳的檔案..
我有開放權限耶..還有什麼我該檢查的嗎?

Lynn   2009/1/8 下午 05:41:00

您好!
我也出現File Not Found:AspSmartuploadUtil.dll
也像其他大大試著放在 winnt/system32或winnt下,再註冊,都無法執行說。
還有,註冊AspSmartUpload後,電腦需要重新開機嗎?

卜維丰   2008/10/22 下午 02:15:00

路人A, 如果我沒記錯
aspSmartUpload 沒有內建指定複寫的屬性
我現在是用 ABCUpload, 可以指定複寫
所以, 現在變成你要自己先檢查存不存在相同檔名檔案, 再作處理

路人A   2008/10/13 上午 10:56:00

我的問題是,
一開始資料裡面都沒有檔案的話,
傳了一個123.jpg上去,
之後繼續傳123.jpg是沒有問題的!
但是伺服器重新開關機之後,
資料夾裡面已經有了123.jpg照片,
若是再傳一次同樣檔名的123.jpg後,
就會出現下面↓

錯誤類型:
aspSmartUpload.File (0x80040460)
Unable to save file (Error 1120)
/0925/te_photo_ok.asp, line 59


瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; InfoPath.1)

頁數:
POST 105994 bytes to /0925/te_photo_ok.asp

POST Data:
錯誤 '80020009'
發生例外狀況。

/iisHelp/common/500-100.asp, 列221

這樣的訊息!
但是如果手動把123.jpg刪掉之後,
再上傳123.jpg是沒有問題的= ="

卜維丰   2008/10/11 下午 01:23:00

路人A, 不能覆蓋涉及到幾個原因
1. 套件中有沒有可以指定覆蓋的功能
2. 你有沒有開放儲存檔案資料夾權限給網路使用者可以覆蓋

我猜你是情況 2 居多

路人A    2008/10/8 上午 10:29:00

那再請問一下@_@
這個是不是照片無法覆蓋阿???
因為我用同樣的檔名再上傳一次照片的話!
會顯示錯誤耶...

卜維丰   2008/9/17 下午 03:59:00

路人 A, 顯然你不看文件嘛...
下載包中的第 5 個範例, 就是在講表單
存成指定檔名, 用 SaveAs 方法
不要告訴我是英文你看不懂, 除了 Python 你用中文寫程式看看~~^^

路人A   2008/9/17 上午 11:38:00

大大!
想請問一下!
如果想把對方傳的相片的名字改成自己想要的名字...
該怎麼做阿?
還有@_@
使用了ENCTYPE="multipart/form-data後
上一頁request過來的變數全都變成空白的!
這又該怎麼解決呢???

Joshua   2008/8/4 下午 06:17:00

伺服器物件 錯誤 'ASP 0178 : 80070005'

Server.CreateObject 存取錯誤

/aroad/management/Config.asp, 列12

當檢查使用權限時 Server.CreateObject 的呼叫失敗。拒絕存取此物件。


請問為什麼會出現這樣的錯誤,是因為這個資料夾沒有開權限嗎?

卜維丰   2008/6/4 下午 01:31:00

Mei, sample1.asp PO 出來看看

Mei   2008/6/4 下午 01:13:00

您好:
 我的檔案名稱是很簡單的abc.xml
 有爬過文~也試過其它的
 可是還是沒辦法成功上傳><
 另外請問一下~我是在自己的電腦上灌IIS跑的~
 這跟是不是在Serve上跑有差嗎??
 因為我不是很懂Serve。謝謝你哦!

卜維丰   2008/6/4 上午 01:17:00

Mei, 你是不是上傳中文檔名的檔案?

Mei   2008/6/4 上午 12:29:00

您好:
可以請問一下~我已經確定資料夾的權限打開了~
可是為什麼是出現如下的錯誤呢??
aspSmartUpload.File (0x80040460)
Unable to save file (Error 1120)
/score/Sample1.asp, line 11


瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)

頁數:
POST 1193 bytes to /score/Sample1.asp

POST Data:
錯誤 '80020009'
發生例外狀況。

/iisHelp/common/500-100.asp, 列221

asor   2008/4/23 上午 08:21:00

感謝!!有問題再來請教.

卜維丰   2008/4/22 下午 01:10:00

asor,檔案在這裡

http://audi.tw/Blog/asp/aspsmartupload.zip

asor   2008/4/22 上午 09:09:00

請問可以寄給我兩個dll檔(3.3版)嗎?官網一直連不上去,拜託!謝謝!

我的e-Mail: asor@ms9.url.com.tw

lemonmei   2008/3/5 下午 03:36:00

不好意思,我找到問題了,原來我丟錯檔案了,真是丟臉,要丟aspsmartuploadutil.dll到SYSTEM32才對,我丟成aspsmartload.dll了...@@

lemonmei   2008/3/5 下午 03:32:00

您好,我也遇到了跟airysu一樣的問題,只是我也有把aspsmartuploadutil.dll丟到WINNT跟SYSTEM32底下,只是我還是一樣的錯誤,怎麼辦?原本在Windows 2000 Profession測試都很正常,換了一台Windows 2000 server就不行了,怎麼會這樣呢?錯誤訊息如下:
錯誤類型:
aspSmartUpload (0x800A0035)
File not found: aspsmartuploadutil.dll
/Upload2.asp, line 8


瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

頁數:
POST 48145 bytes to /Upload2.asp

POST Data:
錯誤 '80020009'
發生例外狀況。

/iisHelp/common/500-100.asp, 列220

卜维丰   2008/1/24 上午 10:34:00

宇夜大, 幾乎所有上傳元件, 都可以指定允許上傳的類型
以 aspSmartUpload 來說, 使用
myUploadfile.AllowedFilesList 這個值來控制
你的程式只肯讓 jpg , gif 上傳, 當然沒法傳 pdf 及 ppt 囉

宇夜   2008/1/24 上午 09:16:00

大大,我架起網站了,你們幫我試試看吧
謝謝

卜维丰   2008/1/18 上午 11:04:00

宇夜,
其實有加上以下兩項設定
myUploadfile.MaxFileSize = 1000000000
myUploadfile.AllowedFilesList = "jpg,gif"
原則上, 我測試是都 OK

留個測試網址來看看
同時, 請在測試網址上, 附上你上傳的原始檔

宇夜   2008/1/16 上午 09:59:00

版大好
 之前看過您利用重COPY上傳檔案,改名解決aspsmartupload無支援中文檔名的問題,謝謝您中文檔名的問題已經解決了,但是我又出現了新的問題,就是無法上傳 .PDF 跟.PPT 檔
我覺得很奇怪,因為我沒有制限上傳的檔案及大小,但傳PDF跟PPT都失敗,是那裡有問題,請您幫忙解惑,謝謝


卜維丰   2007/8/22 下午 12:45:00

airysu 是這樣的
aspsmartuploadutil.dll 放到 NT 目錄之下時
PATH 要有過這個目錄
你查查你的 PATH 是不是沒過 system32

airysu   2007/8/19 下午 05:10:00

卜老師您好:
我找到我的問題了,我只要將aspsmartuploadutil.dll
檔案丟到WINNT資料夾下就正常了,雖以前丟SYSTEM32都很正常,這次為何要丟WINNT才能運作其實我也不清楚。還是謝謝您。

airysu   2007/8/18 下午 09:22:00

您好:
舊電腦掛掉前,一直都用的很順利及正常。自從換台電腦後,再也沒法上傳檔案。我的ASPUPLOAD已更新到3.3了,該做的步驟我也都做了,但就是一直出現以下的錯誤訊息,您能教教我該如何解決這問題嗎?

錯誤類型:
aspSmartUpload (0x800A0030)
File not found: aspsmartuploadutil.dll
/forum-new/functions/functions_upload.asp, line 286


瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)

頁數:
POST 1565 bytes to /forum-new/upload_images.asp

POST Data:
錯誤 '80020009'
發生例外狀況。

/iisHelp/common/500-100.asp, 列220

卜維丰   2007/7/6 下午 06:33:00

Kevin J. Yu

Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/Upload/Sample1.asp, line 10
("aspSmartUpload.SmartUpload")

這種錯誤, 多半是多個引號, 少個引號什麼的

你只把你的錯誤訊息丟過來
沒人知道你的 Sample1.asp 第 10 行是什麼
在我的範例裡, 第 10 行是空白, 不過我估計你是 copy 上面的程式碼
那換行要注意

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

整個是一行

小魚兒   2007/6/3 上午 06:35:00

原來這是權限問題,感謝您的教導,現在這個Sample可以正常運作了!其餘的我再試看看。太感謝您了!

卜維丰   2007/6/2 下午 08:59:00

小魚兒:unable to save
一般來說是資料夾權限問題
確定你存放的資料夾有開啟 everyone 存取權限

小魚兒   2007/6/2 下午 02:39:00

您好:
感謝您到我的問題回意見!想請教像這個範例中intCount = mySmartUpload.Save("/Upload")我在測試時發生錯誤類型:
aspSmartUpload.File (0x80040460)
Unable to save file (Error 1120)
/upload/Sample1.asp, line 23


瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

頁數:
POST 1329 bytes to /upload/Sample1.asp

POST Data:
錯誤 '80020009'
發生例外狀況。

/iisHelp/common/500-100.asp, 列221
不知道為什麼,能拜託您教導我嗎?
感謝!

給個回應
姓名:
佈落格網址:
  如果您是要發問問題, 最好有個問題測試的網址, 這樣比較容易找到您問題所在, 謝謝
內容: