以下為本站文章分類清單

  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

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

以下為文章回應區

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

How do you get Achilles tendonitis?   2017/7/22 上午 11:34:00

Good day! I know this is kinda off topic but
I was wondering which blog platform are you using for this website?
I'm getting sick and tired of Wordpress because I've had issues with hackers and
I'm looking at alternatives for another platform.

I would be fantastic if you could point me in the direction of
a good platform.

c diff and foot pain   2017/7/3 下午 11:31:00

Precisely what I was searching for, regards for posting.

http://mauradetjen.weebly.com/   2017/6/12 下午 02:08:00

It's an remarkable paragraph designed for all the internet users; they will get
advantage from it I am sure.

manicure   2017/5/3 下午 01:42:00

Magnificent goods from you, man. I've understand your
stuff previous to and you are just extremely excellent.
I actually like what you've acquired here, really like what you
are saying and the way in which you say it. You make it enjoyable and you still take care of to keep it smart.
I can't wait to read far more from you. This is actually a terrific
website.

BHW   2017/4/14 上午 12:05:00

Pretty! This was a really wonderful article. Thank you for providing this information.

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
不知道為什麼,能拜託您教導我嗎?
感謝!

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