Electron Dialog отправляет файл на сервер с ресурсом vue

Я создаю электронное приложение, которое обрабатывает загрузку файлов, я использую диалог для получения файлов от пользователя, мне нужно отправить файлы на сервер, но я получаю путь к файлам, но при их отправке получаю ошибки. Я использую ресурс 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>

Однако я получаю ошибку в запросе, любая помощь будет оценена.


person Jimmy Obonyo Abor    schedule 30.11.2016    source источник
comment
Какую ошибку вы получаете?   -  person Saurabh    schedule 30.11.2016
comment
@saurabh я получаю сообщение об ошибке со стороны сервера, что файл не отправлен, отлажен с помощью почтальона, и код на стороне сервера в порядке, поэтому код внешнего интерфейса не отправляет файл   -  person Jimmy Obonyo Abor    schedule 30.11.2016


Ответы (1)


Вероятно, опечатка, но у вас есть вызов API:

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

который отличается от того, который вы импортируете:

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

Если бы не вышеизложенное, я бы предположил, что это будет проблема CORS, если Postman уже может отправлять файлы и получать правильный ответ от конечной точки. Без дополнительной информации я бы рекомендовал посмотреть: https://www.html5rocks.com/en/tutorials/cors/#toc-making-a-cors-request

Чтобы получить более конкретный ответ, вам необходимо опубликовать код API, чтобы мы могли проверить, как вы отправляете файл.

person GuyC    schedule 01.12.2016