分段上傳文件
A. Ajax上傳文件怎樣才能分塊上傳呢
用 File API 可以獲得需上傳的檔案,用 FileReader 獲得 ArrayBuffer 後可以切開,然後用 FormData 上傳切開的二元數據 (及任何額外數據例如 offset)。你還得把它們在伺服器拼接,並應付中途出錯,例如在上載逾時的時候清除之前上載的部分,並在客戶端試圖恢復上載時通知它逾時了。 (例如說,電腦在上載中途休眠或斷電的情況)
B. 關於壓縮包分段上傳
你可以點選你要上傳的文件 右鍵-添加到壓縮文件-壓縮分卷大小,位元組
下面的框里寫上要壓縮的大小 比如說 1G 的文件 要上傳10個分卷 那就每個分卷設成103MB 就可以了
C. 如何html5分割上傳實現超大文件無插件網頁上傳
//代碼不支持IE 因為IE對HTML5支持不好$("#file").change(function(event) { var file = $("#file")[0].files[0]; PostFile(file,0); });function PostFile(file,i){ var name = file.name, //文件名 size = file.size, //總大小shardSize = 2 * 1024 * 1024, shardSize = 2 * 1024 * 1024,//以2MB為一個分片 shardCount = Math.ceil(size / shardSize); //總片數 if(i >= shardCount){ return; } //計算每一片的起始與結束位置 var start = i * shardSize, end = Math.min(size, start + shardSize); //構造一個表單,FormData是HTML5新增的 var form = new FormData(); form.append("data", file.slice(start,end)); //slice方法用於切出文件的一部分 form.append("lastModified", file.lastModified); //slice方法用於切出文件的一部分 form.append("name", name); form.append("total", shardCount); //總片數 form.append("index", i + 1); //當前是第幾片 //Ajax提交 $.ajax({ url: "/test/AjaxFile", type: "POST", data: form, async: true, //非同步 processData: false, //很重要,告訴jquery不要對form進行處理 contentType: false, //很重要,指定為false才能形成正確的Content-Type success: function(data){ if(data){ i = data++; var num = Math.ceil(i*100 / shardCount); $("#output").text(num+'%'); PostFile(file,i); } } }); }
D. 如何把視頻文件分段上傳到QQ播客
Speed Video Splitter 是一款小巧而快速的視頻分割軟體。可以去試試
E. 怎麼用java實現大文件分段傳輸
InputStream is = 獲得輸入流;(裡面是大文件)
OutputStream os = new FileOutputStream("保存路徑",true);
int c;
while((c = rd.read()) != -1){
wt.write(整型分段長度);
}
is.close();
os.close();
F. 網頁 大文件分片上傳處理如何實現
1.首先獲取文件(音視頻、圖片) fileInfo = { = "public.movie"; UIImagePickerController...
2.將獲取到的文件分片 首先,我將獲取到的文件保存在這這樣一個類中 @interface CNFile : NSObject @property (nonatomic,assign) NSInteger ...
G. 怎樣使用winrar將一個大文件壓縮分段上傳到網路硬碟
右擊那個文件→WinRAR→添加到壓縮文件
在「壓縮分卷大小
位元組」下面填寫15MB(15,000,000)
確定
即可開始壓縮
因為是位元組為單位
所以要填寫括弧里的數字
H. 關於.net中上傳的問題,比如說一個超過8M的PDF文件,上傳的時候就自動分割成多個小文件,求一個實例
我這里沒有實例,只能給你提供一個參考思路。
我不知道你是用什麼方式上傳的,我假設你是用AJAX實現吧。
你用javascript將文件進行分段處理,比如每次讀取512k位元組,然後將這點序列化成字元,並分別對每個512K的數據進行編號,並給定文件的總長度,然後逐個賦值給頁面的Hidden,然後提交,每賦值一次,就提交一次,伺服器端做一個緩存,通過編號進行合並成文件,如果不合並,你可以直接存檔。
協議示例:0004819200035121601xxxxxxxx......
協議解釋:0004 代表總長度數字的長度,也就是8192這個數字的長度值
8192 文件的總的位元組數
0003 每個分段長度數字的長度,也就是512這個數字的長度值
512 每個分段的位元組數
16 文件總共被分段為多少段
01 當前發送的分段
xxxxxxxxx...... 每個分段的內容,此內容最好序列化一下,如何序列化請自行度娘。
這個協議只是我自己想的,做為參考你可以根據你的需要再加工。
此方案使用到的關鍵字:javascript文件流、自定義文件傳輸協議。
方案的優點:可以不用使用瀏覽器自帶的上傳控制項,很靈活,可以自己實現上傳進度條等。
缺點是:製作麻煩,對新手非常困難。