Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在electron中,如何从中上载文件';s的完整文件名_Javascript_Node.js_File Upload_Electron_Axios - Fatal编程技术网

Javascript 在electron中,如何从中上载文件';s的完整文件名

Javascript 在electron中,如何从中上载文件';s的完整文件名,javascript,node.js,file-upload,electron,axios,Javascript,Node.js,File Upload,Electron,Axios,在我的电子应用程序中,我有一个按钮,上面写着“上传合同” 单击时,它会从存储的合同文件名(即./home/users/filename.docx)中查看并获取它(无需对话框窗口) 现在,在使用axios时,我无法将此文件作为多部分表单数据上传 我已经读到了导致和 我已经一点一点地阅读了应用的问题和评论,但似乎很难使用axios正确上传真正的文件 这就是我一直在做的事情 作为浏览器上传 导出函数generateContact(文件URL,客户){ const data=new FormData(

在我的电子应用程序中,我有一个按钮,上面写着“上传合同”

单击时,它会从存储的合同文件名(即.
/home/users/filename.docx)中查看并获取它(无需对话框窗口)

现在,在使用axios时,我无法将此文件作为多部分表单数据上传

我已经读到了导致和

我已经一点一点地阅读了应用的问题和评论,但似乎很难使用axios正确上传真正的文件

这就是我一直在做的事情

作为浏览器上传

导出函数generateContact(文件URL,客户){
const data=new FormData()
const file=fs.createReadStream(fileUrl)
data.append('name',customer.name)
data.append('email',customer.email)
data.append('合同',文件)
返回数据
}
//-在generateContract和uploadFile函数之间
//-获取生成的合同数据并将其推送到uploadFile以进行axios上载。
//-在API文件中。
导出函数上载文件(formData){
返回checkConnetion()
.然后(()=>{
返回axios.post(emailUrl、formData)
})
.catch(()=>{
返回axios.post(emailUrlOffline,formData)
})

}
这个问题已经公开了一段时间,因为我无法用axios解决这个问题,不得不使用superagent一段时间

然而,现在它已经可以很好地使用axios了,这就是我在项目中解决它的方法

//-将文件Url正确放置到FormData中
导出函数generateContract(url,{names,email}){
常量文件={
uri:url,
名称:\.replace(url,/\.[doc,docx,odt,]+$/,''),
类型:“docx”
}
const formData=new formData()
formData.append('合同',文件)
formData.append('名称',名称)
formData.append('email',email)
返回表单数据
}
//- 1. 调用generateContract方法
//- 2. 将formdata(从方法1)传递到sendEmail
const contractData=generateContract(contractUrl,有效负载)
const response=yield sendmail(合同数据)
//-使用axios发出请求的sendEmail函数
导出功能sendEmail(contractData){
返回checkConnetion()
.然后(()=>{
返回axios.post(emailUrl、contractData)
})
.catch(()=>{
//返回axios.post(emailUrlOffline,contractData)
userLog('无法连接到服务器,请检查您的internet设置','连接错误','错误')
})

}
你知道吗?我知道,我过去只上传文件。