<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      [ASP]使用 xmlhttp 分塊上傳文件

      [摘要]編寫思路:把本地文件在客戶端通過base64編碼以后發送目的地.測試過程中,上傳文件過大,導致超時不成功.后來經過改善.把編碼分段發送.測試20M成功編寫目的:在傳統的解決方案里面,一次一次選取上傳...
       編寫思路:把本地文件在客戶端通過base64編碼以后發送目的地.
      測試過程中,上傳文件過大,導致超時不成功.
      后來經過改善.把編碼分段發送.測試20M成功

      編寫目的:在傳統的解決方案里面,一次一次選取上傳可以.但是在碰到把數據庫里文件路徑讀出來,并把這些文件上傳到一個地方的時候就比較麻煩.
      如果得到路徑一個一個去找到用ftp當然也是可以的,但每次找這些文件我看都會比較費時。這里編寫這個主要就是為了通過數據庫里的文件路徑取得文件.把文件一次批量上傳到一個地方.
      其主要目的還是為了鍛煉一下自己.

      解決過程:起初試著用模擬鍵盤輸入強行賦值給file控件用傳統的方法上傳?墒抢吓龅娇罩档那闆r,以至有很多文件沒有發送出去。查閱一些資料,現在是把所有路徑通過數據庫取到然后寫到一個js里。然后在前臺用js讀取這些路徑,通過xmlhttp來發送文件。
      因為ie不太喜歡xmlHttp.總認為他有惡意行為.所以老談出提示警告.所以操作的時候不能使用web路徑.只能用物理路徑去訪問它.
      然后服務端有一文件來接收這些編碼,并對其進行解碼.所以我稱之為"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)

      把第二段代碼放到服務器上,可以是本地服務器,可以是公網服務器.和上面的目的地保持一致
      (eg:http://www.xxx.com/upload.asp or http:// localhost/www/upload.asp)


      操作:找到第一段代碼保存的地方。執行即可(eg:打開c盤執行upload.htm)

      目前程序還在調試過程中,希望大家提出寶貴意見

      客戶端代碼  [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]


      服務端代碼

       [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

      另外:此文的目的并不是說這個程序能給朋友們解決什么問題,主要目的還是為了和大家交流一些心得:
      碰到問題->發現問題->解決問題.
      希望大家都不要成為一個標準的代碼機器人。
      多學、多看、多思考、多實踐。
      沒有什么是不能解決的。





      日韩精品一区二区三区高清