electron ajax路径,electron 文件及文件夹上传的问题探索

不晓得如今electron最新版的dialog解决了这个问题没有 选择文件夹的时候没有返回文件夹里面全部的文件 而是返回了文件夹的路径

一样的在网页端是能够经过webkitDirectory获取到文件夹下面全部的文件node

我试了不少的方式 下面的方式是能够成功上传文件夹下面全部的文件(这里单文件的上传不在叙述 只讨论文件夹的上传)

本人业务须要 添加了一些你可能不用的参数 因此逻辑是这个 具体就看你本身的作法web

第一 经过dialog获取到文件夹的路径 定义为dirpath.

第二 经过node的fs读取文件夹下的全部文件路径 代码大概以下:ajax

function fileDisplay(dirpath){

fs.readdir(dirpath,(err,files)=>{

if(err){console.log(err)}else{

files.forEach((filename)=>{

var filedir = path.join(paths,filename);

fs.stat(filedir,(error,stats)=>{

if(error){}else{

var isFile = stats.isFile();

var isDir = stats.isDirectory();

if(ifFile){

fs.readFile(fileDir,(eror,data)=>{

if(err) throw err;

filepack(data,filedir)

})

}

if(ifDir){

fileDisplay(fileDir)

}

}

})

})

}

})

}

第三 生成文件app

function filepack(data,filepath){

let = filename = filepath.split('\\')[filepath.split('\\).length-1];

let file = new File([data],filename,{type:'image/'+filepath.split('.').reverse()[0]});

let fileData = new FormData();

fileData.append('file',file);

fileData.append('filename',filename);

let fileUploadData = fileData.getAll('file')[0];

post(fileUploadData)

}

function post(file){

//提交

ajax.post()

}

第三步中的 new File那步中我直接用image是能够上传任意其余格式的文件的 目前没有发现会受这个的影响 有更好的方式的朋友能够给我说哈 iview

再次说明 直接用代码确定是不行的 由于去掉了不少中间的不重要的步骤 可是基本的三个是上面的几个

上传的代码参考iview upload组件的源码 我是经过修改它的源码来改进的electron

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值