亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

詳解html+ajax實現上傳大文件功能的步驟

2024-09-01 08:30:22
字體:
來源:轉載
供稿:網友

我們都知道不管上傳什么文件都是有限制的,如果默認上傳不進行修改,那么當我們遇到文件大的文件要怎么進行解決呢?別著急,下文是錯新技術頻道小編為大家詳解html+ajax實現上傳大文件功能的步驟。

何為大文件切割上傳?

原理:利用HTML5的新特性,將文件內容切割成分段的二進制信息,然后每次向服務器上傳一段,而服務器,只需要把我們每次上傳的二進制信息整合存儲到一個文件中,那么最后這個文件就是所上傳的文件。

由于php.ini默認的上傳大小為2M,如果每批都上傳2M,我測試的時候時間比較長,這里我將其限制大小該為20M,最大post數據為28M,便于測試。如果實際開發中不能修改其參數,則每批上傳的數據不能超過最大限制。

post_max_size = 28M upload_max_filesize = 20M 

我的是在nginx里面上傳所以還需要修改Nginx配置文件/etc/nginx/nginx.con

//在http{} 里面加即可 client_max_body_size 50m   #客戶端最大上傳大小 50M 

JavaScript中的File對象

在之前的文章中我們已經使用到了這個Api,File對象中保存了文件的大小、名稱、類型等信息

JavaScript中的Blob對象

Blob對象是二進制對象,也是File對象的父類,Blob對象中有一個很重要的方法:slice() 方法,利用這個方法我們可以把文件內容切割成二進制信息。slice() 方法接受三個參數,起始偏移量,結束偏移量,還有可選的 mime 類型。如果 mime 類型,沒有設置,那么新的 Blob 對象的 mime 類型和父級一樣。

上傳頁面index.php:

<!DOCTYPE html> <html> <head>   <meta charset="utf-8">   <meta http-equiv="X-UA-Compatible" content="IE=edge">   <title>大文件切割上傳</title>   <link rel="stylesheet" href="">   <script>     function selfile(){       const LENGTH = 1024 * 1024 * 10;//每次上傳的大小       var file = document.getElementsByName('video')[0].files[0];//文件對象       var filename=document.getElementsByName('video')[0].files[0].name;       var totalSize = file.size;//文件總大小       var start = 0;//每次上傳的開始字節       var end = start + LENGTH;//每次上傳的結尾字節       var fd = null//創建表單數據對象       var blob = null;//二進制對象       var xhr = null;//xhr對象       while(start < totalSize){         fd = new FormData();//每一次需要重新創建         xhr = new XMLHttpRequest();//需要每次創建并設置參數         xhr.open('POST','upload.php',false);         blob = file.slice(start,end);//根據長度截取每次需要上傳的數據         fd.append('video',blob);//添加數據到fd對象中         fd.append('filename',filename); //獲取文件的名稱         xhr.send(fd);//將fd數據上傳          //重新設置開始和結尾         start = end;         end = start + LENGTH;        }      }   </script> </head> <body> <h1>大文件切割上傳</h1> <input type="file" name="video" onchange="selfile();" /> </body> </html> 

接收數據頁面upload.php:

<?php /**  * 大文件切割上傳,把每次上傳的數據合并成一個文件  */  $filename = './uploads/'.$_POST['filename'];//確定上傳的文件名 //第一次上傳時沒有文件,就創建文件,此后上傳只需要把數據追加到此文件中 if(!file_exists($filename)){  move_uploaded_file($_FILES['video']['tmp_name'],$filename); }else{  file_put_contents($filename,file_get_contents($_FILES['video']['tmp_name']),FILE_APPEND); } ?> 

測試之前,先創建uploads文件夾

如果是linux系統的話 切記給uploads給權限

sudo chmod -R 777 uoloads/  //賦予uploads文件夾 777 權限  -R 遞歸子文件  

end!

以上就是關于詳解html+ajax實現上傳大文件功能的步驟,錯新技術頻道為我們提供了那么好的平臺,希望大家可以有需要的朋友都看到這些知識,我們共同學習、共同進步。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情综合网| 亚洲男人天堂2019| 777午夜精品福利在线观看| 午夜精品国产精品大乳美女| 国产精品久久久久久久久免费| 色综合伊人色综合网站| 日韩中文字幕免费视频| 亚洲深夜福利网站| 欧美在线不卡区| 欧美激情精品久久久久久大尺度| 亚洲国产另类 国产精品国产免费| 欧美日韩一区二区精品| 欧美一区二区三区免费视| 91精品视频在线看| 国内精品免费午夜毛片| 国产精品www| 亚洲精品一二区| 8090理伦午夜在线电影| 精品福利在线观看| 91精品国产91久久| 亚洲天堂一区二区三区| 国产99视频在线观看| 亚洲黄一区二区| 久久露脸国产精品| 亚洲精品国产成人| 午夜精品理论片| 亚洲午夜色婷婷在线| 国内自拍欧美激情| 国产成人精品一区| 国产成人自拍视频在线观看| 日韩少妇与小伙激情| 日韩免费中文字幕| 亚洲免费av网址| 日韩亚洲成人av在线| 国产三级精品网站| 91在线观看免费观看| 久久久欧美精品| 日韩免费看的电影电视剧大全| 琪琪亚洲精品午夜在线| 欧美高清视频在线播放| 91国产精品91| 91av国产在线| 国产成人一区二区三区小说| 久久成人一区二区| 国产精品久久久久久久电影| 欧美激情精品久久久久久黑人| 亚洲精品91美女久久久久久久| 国产一区二区三区在线观看网站| 国产精品视频一| 91精品视频大全| 亚洲一区二区久久久久久| 国产aⅴ夜夜欢一区二区三区| 亚洲精品资源在线| 国产成人涩涩涩视频在线观看| 不卡av日日日| 日韩视频在线观看免费| 亚洲精品免费av| yw.139尤物在线精品视频| 国产精品一区二区三区毛片淫片| 国产精品美女主播在线观看纯欲| 成人久久久久久| 91探花福利精品国产自产在线| 精品久久香蕉国产线看观看亚洲| 亚洲精品99久久久久| 久久免费视频这里只有精品| 国产99久久久欧美黑人| 亚洲精品中文字| 欧美电影在线观看高清| 欧美性xxxxxxxxx| 国产亚洲福利一区| 久久国产精品99国产精| 美日韩丰满少妇在线观看| 91免费福利视频| 亚洲美女激情视频| 久久久99久久精品女同性| 欧美精品成人在线| 亚洲精品一区中文| 亚洲免费成人av电影| 国产亚洲激情视频在线| 韩国三级电影久久久久久| 久久久久久成人精品| 色在人av网站天堂精品| 欧美成人精品三级在线观看| 中文字幕精品视频| 992tv成人免费影院| 国产一区二区动漫| 亚洲韩国青草视频| 日韩va亚洲va欧洲va国产| 26uuu久久噜噜噜噜| 亚洲国产精品视频在线观看| 欧美日韩ab片| 国产精品毛片a∨一区二区三区|国| 亚洲美女免费精品视频在线观看| 97精品国产97久久久久久春色| 98精品在线视频| 亚洲一区二区黄| 在线亚洲午夜片av大片| 国产成人精品免高潮在线观看| 国产亚洲欧美日韩一区二区| xxxxxxxxx欧美| 久久99热精品这里久久精品| 91免费国产网站| 永久免费毛片在线播放不卡| 亚洲大尺度美女在线| 亚洲精品欧美极品| 久久天天躁夜夜躁狠狠躁2022| 亚洲free性xxxx护士hd| 亚洲国产欧美一区二区丝袜黑人| 色综合久久悠悠| 国产精品久久久久久久av大片| 亚洲一区二区三区四区视频| 亚洲精品久久久一区二区三区| 亚洲国产精品yw在线观看| 91伊人影院在线播放| 亚洲情综合五月天| 精品久久中文字幕| 狠狠综合久久av一区二区小说| 国产精品aaa| 日本亚洲欧美三级| 日韩av影片在线观看| 日av在线播放中文不卡| 久久久精品视频在线观看| 欧美与欧洲交xxxx免费观看| 在线观看精品自拍私拍| 国产欧美一区二区白浆黑人| 91精品国产自产91精品| 中文字幕日韩在线视频| 丝袜一区二区三区| 欧美多人乱p欧美4p久久| 91系列在线观看| 日本高清视频精品| 久久久久久国产精品| 91精品视频播放| 亚洲国产高潮在线观看| 国产精品高潮粉嫩av| 91在线网站视频| 欧美—级a级欧美特级ar全黄| 日韩久久精品成人| 亚洲在线www| 日韩在线视频线视频免费网站| 亚洲图片在线综合| 亚洲欧美日韩精品| 日韩大陆欧美高清视频区| 亚洲欧美变态国产另类| 久久成人精品视频| 91精品国产综合久久香蕉的用户体验| 在线观看成人黄色| 欧美成人精品不卡视频在线观看| 91探花福利精品国产自产在线| 国产精品美乳一区二区免费| 成人免费午夜电影| www.99久久热国产日韩欧美.com| 亚洲一级一级97网| 久久久久久久香蕉网| 国产亚洲福利一区| 精品视频—区二区三区免费| 国产精品稀缺呦系列在线| 红桃视频成人在线观看| 51ⅴ精品国产91久久久久久| 亚洲精品720p| 亚洲国产精品久久91精品| 91久久精品美女| 亚洲老板91色精品久久| 国产精品自拍偷拍视频|