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

首頁 > 編程 > JavaScript > 正文

Electron中實現大文件上傳和斷點續傳功能

2019-11-19 12:37:31
字體:
來源:轉載
供稿:網友

Electron官網的描述:Electron是由Github開發,用HTML,CSS和JavaScript來構建跨平臺桌面應用程序的一個開源庫。 Electron通過將Chromium和Node.js合并到同一個運行時環境中,并將其打包為Mac,Windows和Linux系統下的應用來實現這一目的。

從官網的描述我們可以簡單的概括,Electron是開源的框架,可以使用h5來開發跨平臺pc桌面應用,這樣前端開發這可以開發桌面應用了。由于它是基于Chromium和Node.js開發的,所以在Electron中既可以使用瀏覽器中的api也可以使用node的api。

下面我們在Electron中實現文件的上傳以及斷點續傳。網上關于h5的上傳下載的案例已經非常多,但是關于大文件的上傳和續傳的很少。

首先上傳方案,我們通過將大文件進行分片處理,將大文件切割成固定大小的分片。通過node的fs.createReadStream方法實現:

singleUpload function(file){  let path = file.path; //文件本地路徑   let stats = fs.statSync(path);//讀取文件信息  let chunkSize = 3*1024*1024;//每片分塊的大小3M  let size = stats.size;//文件大小  let pieces = Math.ceil(size / chunkSize);//總共的分片數   function uploadPiece (i){     //計算每塊的結束位置    let enddata = Math.min(size, (i + 1) * chunkSize);    let arr = [];    //創建一個readStream對象,根據文件起始位置和結束位置讀取固定的分片    let readStream = fs.createReadStream(path, { start: i * chunkSize, end: enddata-1 });      //on data讀取數據      readStream.on(‘data‘, (data)=>{        arr.push(data)      })       //on end在該分片讀取完成時觸發      readStream.on(‘end‘, ()=>{        //這里服務端只接受blob對象,需要把原始的數據流轉成blob對象,這塊為了配合后端才轉        let blob = new Blob(arr)        //新建formdata數據對象        var formdata = new FormData();        let md5Val = md5(Buffer.concat(arr));        formdata.append("file", blob);        console.log(‘blob.size‘,blob.size)        formdata.append("md5", md5Val);        formdata.append("size", size + ‘‘); // 數字30被轉換成字符串"30"        formdata.append("chunk", i + ‘‘);//第幾個分片,從0開始        formdata.append("chunks", pieces + ‘‘);//分片數        formdata.append("name", name);//文件名        post(formdata)//這里是偽代碼,實現上傳,開發者自己實現  }} 

以上代碼就是上傳的核心部分,我們首先讀取文件的基本信息,如路徑,大小進行分塊,然后將每塊上傳,我們上傳循環上傳整個文件的分片,就循環調用uploadpiece方法。那么我們怎么實現斷點續傳呢?上面的代碼中我們計算每塊的md5值,這里計算每個md5值就是為了斷點續傳使用。我們每次上傳文件前,我們會先調用預上傳接口,預上傳接口中,前端傳入fileId,后端會將改文件已經上傳的分塊的md5數組傳給前端,前端將該文件的分塊的md5值和后端返回的md5值進行逐個對比,跳過已經上傳的分塊。這樣就實現了大文件的上傳和斷點續傳的問題。

方案流程圖:

總結

以上所述是小編給大家介紹的Electron中實現大文件上傳和斷點續傳功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人拍精品视频午夜网站| 亚洲成人a级网| 性色av一区二区三区| 午夜剧场成人观在线视频免费观看| 欧美精品少妇videofree| 日韩精品在线影院| 欧美日产国产成人免费图片| 久久精品一区中文字幕| 亚洲午夜女主播在线直播| 国产精国产精品| 亚洲国产精久久久久久| 久久香蕉精品香蕉| 成人黄色在线播放| 国外日韩电影在线观看| 97免费在线视频| 国产精品视频内| 久久精品国亚洲| 日韩av在线网站| 国产欧美va欧美va香蕉在| 日韩中文字幕国产精品| 麻豆成人在线看| 免费不卡在线观看av| 欧美激情一区二区三级高清视频| 91亚洲精品久久久| 中文字幕亚洲图片| 精品国产拍在线观看| 国产精品美女免费| 69av成年福利视频| 欧美整片在线观看| 国产精品视频26uuu| 久久av在线播放| 亚洲精品在线观看www| 国产成人高清激情视频在线观看| 九色精品美女在线| 亚洲精品日韩av| 色偷偷噜噜噜亚洲男人的天堂| 国产成人在线亚洲欧美| 国产精品激情av电影在线观看| 中文字幕精品一区久久久久| 日韩在线视频免费观看| 久久久精品美女| 久久久久久久久网站| 国产精品伦子伦免费视频| 日韩在线精品一区| 精品久久久久久中文字幕一区奶水| 久久人人爽人人爽人人片av高请| 国产99久久久欧美黑人| 丁香五六月婷婷久久激情| 欧美激情高清视频| 中文字幕综合一区| 91久久精品一区| 91国偷自产一区二区三区的观看方式| 亚洲国产精品久久精品怡红院| 在线观看国产成人av片| 亚洲国产小视频在线观看| 97精品免费视频| 欧美黑人xxxⅹ高潮交| 日韩精品黄色网| 麻豆成人在线看| 亚洲乱亚洲乱妇无码| 欧美成人午夜激情| 97婷婷涩涩精品一区| 国产女人精品视频| 在线精品91av| 精品国内产的精品视频在线观看| 亚洲精品xxx| 欧美一级淫片videoshd| 亚洲精品动漫100p| 国产精品欧美日韩| 亚洲国产天堂久久综合| 91中文字幕在线观看| 国产成人精品免高潮费视频| 欧美在线观看www| 国产精品欧美激情在线播放| 4438全国成人免费| 日韩av影片在线观看| 日韩在线观看免费网站| 国产欧美亚洲精品| 中文字幕亚洲第一| 欧美日韩亚洲一区二区三区| 亚洲一区二区三区成人在线视频精品| 精品久久久久久国产91| 亚洲在线免费看| 久久国产精品久久久久久| 欧美激情视频在线| 中文字幕亚洲自拍| 欧美一区二区.| 欧美成人黑人xx视频免费观看| 91九色在线视频| 欧美日韩一区免费| 亚洲春色另类小说| 欧美丰满片xxx777| 国产一区二区视频在线观看| 日韩在线观看高清| 欧美大成色www永久网站婷| 韩国日本不卡在线| 日韩电影中文 亚洲精品乱码| 最近免费中文字幕视频2019| 97av在线影院| 久久久精品免费视频| 久久久亚洲成人| 久操成人在线视频| 97在线精品国自产拍中文| 亚洲精品久久久久久久久久久久久| 欧美性猛交xxxx免费看漫画| 最近2019中文字幕mv免费看| 日韩欧美中文字幕在线播放| 久久精视频免费在线久久完整在线看| 色悠悠国产精品| 欧美精品免费播放| 深夜福利国产精品| 亚洲天堂第二页| 中文字幕亚洲二区| 欧美一级在线播放| 欧美极品在线播放| 久久成人一区二区| 91国产一区在线| 97国产suv精品一区二区62| 亚洲a一级视频| 久久亚洲精品视频| 日韩女优人人人人射在线视频| 欧美日韩色婷婷| 精品伊人久久97| 国产成人精品视频在线观看| 最好看的2019的中文字幕视频| 日韩男女性生活视频| 久久久精品影院| 欧美成人精品激情在线观看| 这里只有视频精品| 美女啪啪无遮挡免费久久网站| 久久久亚洲精品视频| 国产69精品久久久| 国产精品久久99久久| 91国自产精品中文字幕亚洲| 国产精品视频网站| 精品综合久久久久久97| 日韩福利视频在线观看| 亚洲图片欧洲图片av| 国产97色在线|日韩| 亚洲国产一区二区三区在线观看| 欧洲日韩成人av| 亚洲女人天堂视频| 欧美午夜电影在线| 欧美在线一级视频| 久久99久久99精品免观看粉嫩| 久久久久亚洲精品国产| 亚洲图片欧美午夜| 亚洲激情视频在线| 欧美午夜精品久久久久久人妖| 亚洲一区二区三区成人在线视频精品| 亚洲国产精品久久精品怡红院| 国产精品三级网站| 欧美精品九九久久| 久久久国产一区二区| 国产精品99久久久久久人| 亚洲国产欧美日韩精品| 欧美视频第一页| 亚洲一区二区免费| 日本成人在线视频网址| 久久久久国产一区二区三区| 久久久精品国产| 激情亚洲一区二区三区四区| 精品国产欧美一区二区五十路| 性欧美xxxx视频在线观看|