一.前言
目前接觸的項(xiàng)目中,給定的需求是將系統(tǒng)內(nèi)所有用戶的數(shù)據(jù)整理好,并保存到文件夾內(nèi),目的主要是防止用戶在實(shí)施人員已配置好的基礎(chǔ)上由于不熟悉系統(tǒng),導(dǎo)致的誤刪或者誤操作。減少實(shí)施人員的配置工作。我首先想到的就是將數(shù)據(jù)導(dǎo)入到Excel中,并以各個(gè)用戶的名稱命名文件夾做好分類。
vue下實(shí)現(xiàn)Excel導(dǎo)入這個(gè)我們見(jiàn)的比較多了,當(dāng)時(shí)我也確實(shí)實(shí)現(xiàn)了下載Excel的功能,但是后續(xù)發(fā)現(xiàn)保存的文件都在服務(wù)器上,那就有一個(gè)問(wèn)題了,實(shí)施人員是通過(guò)頁(yè)面點(diǎn)擊的一鍵保存按鈕,數(shù)據(jù)也確實(shí)保存了,但是卻是在服務(wù)器上,如果想實(shí)時(shí)看到數(shù)據(jù)呢,是不是還要去服務(wù)器上拷貝一份下來(lái)。相對(duì)來(lái)講確實(shí)比較繁瑣,所以整理了下載壓縮文件到本地的功能,一起看一下怎么實(shí)現(xiàn)的吧。
1.1.net core 壓縮文件
思路是在后臺(tái)將文件夾整體壓縮為zip格式的壓縮包,并返回文件流到前端,然后前端接收文件流實(shí)現(xiàn)瀏覽器下載的功能。
后端代碼,將
public async Task<FileStreamResult> DownloadFiles(DownLoadModel input) { if (!Directory.Exists(input.pathUrl)) { throw new UserFriendlyException("當(dāng)前要下載的文件夾不存在或已刪除"); } var zipFileUrl = _configurationRoot["downLoadUrlConf:downloadZipFileUrl"]; if (File.Exists(zipFileUrl)) { File.Delete(zipFileUrl); } ZipHelper.CreateZip(input.pathUrl, zipFileUrl); var memoryStream = new MemoryStream(); using (var stream = new FileStream(zipFileUrl, FileMode.Open)) { await stream.CopyToAsync(memoryStream); } memoryStream.Seek(0, SeekOrigin.Begin); return new FileStreamResult(memoryStream, "application/octet-stream");//文件流方式,指定文件流對(duì)應(yīng)的ContenType。 }
網(wǎng)頁(yè)標(biāo)題:.netcore+vue實(shí)現(xiàn)壓縮文件下載功能-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://www.chinadenli.net/article24/gscce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、App設(shè)計(jì)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容