繁体   English   中英

电子对话框使用vue资源将文件发送到服务器

[英]Electron Dialog send file to server with vue resource

我正在构建一个处理文件上传的电子应用程序,正在使用对话框从用户那里获取文件,我需要将文件发送到服务器,但是我正在获取文件路径,但是在发送文件时出现错误。 我正在使用Vue资源进行请求。 下面是我的代码:

<template>
  <div>
  <button @click="uploadAct()"  class="primary">New Upload </button>  
 </div>
</template>
<script>
const {dialog} = require('electron').remote
const fs = require('fs')
import reqApi from '../../api/something'
export default {
 methods: {
   uploadAct () {
     dialog.showOpenDialog({
        title: 'Upload Attachments',
        buttonLabel: 'Upload',
        filters: [
          {name: 'Images', extensions: ['jpg', 'png', 'gif']},
          {name: 'All Files', extensions: ['*']}
        ],
        properties: ['openFile', 'multiSelections']
      }, function (filenames) {
        if (filenames) {
           let d = ''
          filenames.forEach(function (element) {
            d = element
          })
         // here i get a path of file correctly something like /path/to/file.jpg

          reqApi.uploadattachmnets({photo: fs.createReadStream(d)}).then(
              (response) => {
                console.log(response)
              },
              (error) => {
                console.log(error)
              })
           //  })

        }
      })
  }
 }
}
</script>

但是,我最终在请求中出错,将不胜感激。

可能是拼写错误,但是您可以调用API:

carApi.uploadattachmnets({photo: fs.createReadStream(d)})

这与您要导入的内容不同:

import reqApi from '../../api/something'

如果不是上述情况,我认为如果Postman已经能够发送文件并从端点接收正确的响应,那么这将是CORS问题。 如果没有更多信息,我建议您查看: https : //www.html5rocks.com/en/tutorials/cors/#toc-making-a-cors-request

要获得更具体的响应,您需要发布API代码,以便我们查看您如何发送文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM