多檔案上傳元件
(因為我還沒完成我的元件,不保證文章中的**的正確性.)
上傳多檔案
(sander duivestein)
介紹這是我寫的乙個上傳檔案的activex的元件.這個元件是使用winsocket 控制項呼叫ftp提交檔案.它僅僅工作在ie3.02或更高的版本,但有些客戶端使用netscape,因此不得不找另外的解決方案.但我搜尋 internet 和若干新聞組時,發現不止我乙個有這樣的要求.
在1999.3.11, 看到啦doug dean的一篇15seconds的文章(關於用vb asp 元件上傳檔案)給我啦乙個很好的提示.
doug dean的元件簡單並且易用.但他說,然而,多元件的上傳問題沒解決?因而仍然有一些工作要完成.
在我開始做自己的元件以前,我想知道其他類似控制項提供什麼樣的功能.因此我看啦另外3個著名的元件:
the upload component of software artisans, the upload component of aspupload,
and the microsoft posting acceptor.
通過比較這些元件我覺的我的元件應該滿足下列要求:
提交檔案的html表單對asp 元件應該是一黑盒子.也就是說元件能接受各種表單元件並能得到表單元件的名字和值.
它應能提供乙個上傳路徑,並且限制大小.
元件應該能處理多個的檔案.
元件應該有一錯誤處理程式.
元件應該效能很好.
元件應該能在nc中象ie一樣工作.
儲存檔案進入資料庫.
僅允許某組用能上載檔案.
這些對我來說是有相當的挑戰.
解決問題
首先我要建立一html檔案,它包含兩個元件:一簡單的文字框,一檔案框.這裡給出下列**:
1:upload.htm
使用enctype="multipart/form-data" 使表單能夠提交一檔案.我們也需要一檔案接收檔案.
2:upload.asp
<%@ language=vbscript %>
<%
option explicit
response.buffer = true
on error resume next
if request.servervariables("request_method") = "post" then
dim objupload
dim lngmaxfilebytes
dim struploadpath
dim varresult
lngmaxfilebytes = 10000
struploadpath = "c:\inetpub\wwwroot\upload\"
set objupload = server.createobject("pjuploadfile.clsupload")
if err.number <> 0 then
response.write "the component wasn't registered"
else
varresult = objupload.doupload (lngmaxfilebytes, struploadpath)
set objupload = nothing
dim i
for i = 0 to ubound(varresult,1)
response.write varresult(i,0) & " : " & varresult(i,1) & "
"next
end if
end if
%>
在這裡設定下面兩個變數:
lngmaxfilebytes - 檔案最大位元組數, 和 struploadpath -檔案上傳位置.我也增加了錯誤處理程式檢查是否裝入元件在網伺服器上適當註冊.這是我做的處理唯一的乙個錯誤.如果任何另外的錯誤發生,可以再加入處理它.最後,再宣告varreturn.這變數用來接受元件的返回值.這返回值應該包含所有的表單元件名字和他們的值.你能看見for next loop中的程式,這返回值必須是一陣列.
多檔案上傳元件FineUploader使用心得
做web開發的童鞋都知道,需要經常從客戶端上傳檔案到服務端,當然,你可以使用來上傳檔案,這是asp.net預設的上傳檔案元素。但是,受到系統的限制,如果要更改file元素的樣式,讓他看起來美觀一些,這就比較費勁了,當然可能是本人css功夫沒到家吧,總之試了幾次,也沒能達到想要的效果。最終,就決定用第...
多檔案上傳
這是我開發過程中用涉及到的乙個功能,現在備份下來。首先是在 web.confing 中做限制上傳大小配置和超時的配置,的節點下有 executiontimeout maxrequestlength兩個屬性。executiontimeout設定超時的時間值,預設的為90秒,如果超出這個時間,瀏覽器就會...
多檔案上傳
c 版本 upload.aspx page language c codebehind upload.aspx.cs autoeventwireup false inherits webportal.upload upload.aspx.cs using system using system.co...