大概就是点击一个按钮,然后弹出一个目录选择器,但是该按钮可以触发多个资源的下载,这些资源都放置在同一个目录下。
这种需求一般都需要把所有资源打包成一个zip文件,就能实现再同一个目录下了,这个步骤一般是由服务端操作, 前端也行不过很少弄
npm install jszip
npm install file-saver
import axios from 'axios'
import JSZip from "jszip";
import FileSaver from "file-saver";
videoData:['/video/26519f026fc012521605563015227403.mp4','/video/f7b9cdae14ad51e491b62742f71c43e7.mp4','/video/1f82d79e0a9ef414419275a5f1d6bb94.mp4'],
download1(){
var videoData = this.videoData;
const zip = new JSZip();
var promises = [];
videoData.forEach(item => {
const promise = this.getFile(item).then(data => {
const arr_name = item.split("/");
const file_name = arr_name[arr_name.length - 1]; // 获取文件名
console.log(data)
zip.file(file_name, data, { binary: true });
});
promises.push(promise);
});
Promise.all(promises).then(() => {
console.log("全部下载完成");
zip.generateAsync({ type: "blob" }).then(content => {
// 生成二进制流
console.log("生成压缩包");
FileSaver.saveAs(content, "时间戳.zip");
});
});
},
getFile(url){
return new Promise((resolve, reject) => {
axios({
method: "get",
url:url,
responseType: "blob"
})
.then(data => {
resolve(data.data);
})
.catch(error => {
reject(error.toString());
});
});
},
最佳的方案是通过服务器先将这些文件打包成一个 .zip 文件,然后让浏览器只下载这一个文件。
File System Api 应该可以满足你的需求。
https://developer.mozilla.org/zh-CN/docs/Web/API/File_System_API
我们来思考一下 下载 的流程。
每次下载的时候,其实最终的行为都是 前端 向浏览器申请,然后 浏览器 对 用户 进行确认之后,才能开始下载。所以如果前端想要控制这个流程,感觉只有两个思路:
同理,由于安全角度考虑,文件下载的位置完全由 浏览器 通过 用户设置 决定,所以客户端理论上都没有办法指定下载位置。
所以由于浏览器安全策略限制,应该是没有办法实现题主的需求。可以通过 循环列表多次下载 或 打包后单次下载 两种变通方式实现,需要看业务方、产品能不能同意。
JSSDK 名称 描述 下载地址 JSSDK JSSDK的包 下载地址 WPSDK WPSDK的包 下载地址 各大平台示例程序 名称 描述 下载地址 PHP PHP示例程序 下载地址 .NET .NET示例程序 敬请期待 JAVA JAVA示例程序 敬请期待
我们会在这里为您提供一些跟uView UI设计相关的资源和设计工具的下载,更多设计资源正在整理和完善中。 设计资源 这里我们提供组件的Sketch和Axure设计资源,您可以根据需要进行下载。 Sketch Template 通过在Sketch中导入uView组件库,可以在交互设计阶段方便地调用常用的组件下载 Axure Template 通过在Axure中导入uView组件库,可以在交互设计阶段
为方便设计开发,我们提供了基础UI 控件,以及部分品类示例内容页的设计资源源文件,目前提供sketch格式,可供设计开发参考。
问题内容: 我正在用NodeJS编写应用程序。 我在同一目录中有两个文件,但是每当我调用其中一个时: 从我的index.html加载资源失败错误。 谢谢! 问题答案: 要使用Express提供静态文件,您应该使用或以其他方式为每个拥有的html文件定义一个新路径,或者重新发明所提供的功能。 您可以执行以下操作: 将您的文件放在子目录中。例如: 文件将每2秒重定向一次。 您可以从GitHub下载此示
我不知道为什么会这样,但真的很烦人。我希望该文件是根据express docs下载的。我有下一个代码: 文件夹结构: 没有发生任何事情,错误未显示。有什么想法吗?
当我把我的log4j2.xml放在资源/xml文件夹下时,我得到以下错误:ERROR StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。 当我把它直接放在资源下面时。xml,它可以完美地工作。我还在Run-As下给出了-Dlog4j.configurationFile=src/main/resources/xml/log4j2.xml- 我还发现了这个错误lo
问题内容: 当Django启动时,如何从mysql数据库加载资源并将其放入内存(Redis)中,以供所有应用程序使用。 我已经看到了这个 [https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready] 但是他们提到在ready函数中不使用db连接。我的网站启动时该怎么办? 我还可以在read