編寫思路:把本地文件在客戶端通過base64編碼以后發(fā)送目的地.
測試過程中,上傳文件過大,導(dǎo)致超時不成功.
后來經(jīng)過改善.把編碼分段發(fā)送.測試20M成功
編寫目的:在傳統(tǒng)的解決方案里面,一次一次選取上傳可以.但是在碰到把數(shù)據(jù)庫里文件路徑讀出來,并把這些文件上傳到一個地方的時候就比較麻煩.
如果得到路徑一個一個去找到用ftp當(dāng)然也是可以的,但每次找這些文件我看都會比較費時。這里編寫這個主要就是為了通過數(shù)據(jù)庫里的文件路徑取得文件.把文件一次批量上傳到一個地方.
其主要目的還是為了鍛煉一下自己.
解決過程:起初試著用模擬鍵盤輸入強(qiáng)行賦值給file控件用傳統(tǒng)的方法上傳??墒抢吓龅娇罩档那闆r,以至有很多文件沒有發(fā)送出去。查閱一些資料,現(xiàn)在是把所有路徑通過數(shù)據(jù)庫取到然后寫到一個js里。然后在前臺用js讀取這些路徑,通過xmlhttp來發(fā)送文件。
因為ie不太喜歡xmlHttp.總認(rèn)為他有惡意行為.所以老談出提示警告.所以操作的時候不能使用web路徑.只能用物理路徑去訪問它.
然后服務(wù)端有一文件來接收這些編碼,并對其進(jìn)行解碼.所以我稱之為"c/s". ^_^
目前很多代碼還在完善中.
簡單介紹一下:
-------------------------------------------------------------
aryFiles.push("c:\\aaa.zip") ;
aryFiles.push("c:\\bbb.exe") ;
這里為文件路徑和文件.可為多個
以后這個路徑也可以通過file控件在客戶端取到
http:// www.xxx.com/xxx/xxx.asp
這個是目的地,可以改為自己想要的地址.
ado_stream.LoadFromFile(server.mappath(".") "/" + str_filename)
server.mappath(".") "/" + str_filename 這里是讀取文件.
server.mappath(".") "/" 路徑和存放路徑一致
ado_stream.SaveToFile server.mappath(".") "/" str_filename,2
server.mappath(".") "/" 這個為存放文件的路徑. str_filename 為文件名
這里讀取和存放都是放在程序所放目錄中.大家測試的時候也可以保持這樣即可
把第一段代碼放到本地(eg:c:\upload.htm)
把第二段代碼放到服務(wù)器上,可以是本地服務(wù)器,可以是公網(wǎng)服務(wù)器.和上面的目的地保持一致
(eg:http://www.xxx.com/upload.asp or http:// localhost/www/upload.asp)
----------------------------------------------------------------
操作:找到第一段代碼保存的地方。執(zhí)行即可(eg:打開c盤執(zhí)行upload.htm)
客戶端代碼
服務(wù)器端
標(biāo)簽:麗江 天津 懷化 臺灣 成都 公主嶺 內(nèi)江 重慶
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《另類的文件上傳解決方案》,本文關(guān)鍵詞 另類,的,文件,上傳,解決方案,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。上一篇:百度小偷
下一篇:簡單過濾一下廣告的代碼