Каков правильный синтаксис Axios для загрузки изображения на мой локальный сервер? - PullRequest
0 голосов
/ 29 сентября 2019

Я хочу загрузить изображение из моего кода javascript /act-native на локальный сервер с axios.Вот мой код, для которого я получаю ошибку 404 запроса (обратите внимание, что когда я запускаю его в почтальоне, он работает нормально, так что это, очевидно, проблема с моим синтаксисом):

 import axios from "axios";

export const uploadReceipt = async (expenseId, imageData) => {
  let formData = new FormData();
  formData.append("receipt", imageData);

  axios.post(`http://localhost:3000/expenses/${expenseId}/receipts`, formData, {
    headers: {
      "Content-Type": "multipart/form-data",

    }
  });
};

Обратите внимание , что imageData - это путь к файлу, например: /storage/emulated/0/Android/data/com.app.expenseapp/files/Pictures/JPEG_20190929_151217_613504889806204680.jpg

Вот мой фрагмент кода, сгенерированный почтальоном:

POST /expenses/5b996064dfd5b783915112f5/receipts HTTP/1.1
Host: localhost:3000
User-Agent: PostmanRuntime/7.17.1
Accept: */*
Cache-Control: no-cache
Postman-Token: 806897c2-ae58-4687-b4ca-99724d7981ce,26260c15-d96e-4162-bfb3-fd8a0b2576d2
Host: localhost:3000
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Accept-Encoding: gzip, deflate
Content-Length: 7291
Connection: keep-alive
cache-control: no-cache


Content-Disposition: form-data; name="receipt"; filename="/Users/user/Documents/bee.png


------WebKitFormBoundary7MA4YWxkTrZu0gW--

Иверсия изображения на всякий случай: enter image description here

СПАСИБО ЗА ПРЕДЕЛА!

1 Ответ

1 голос
/ 29 сентября 2019

В вашем синтаксисе axios нет ошибок, но ваша переменная imageData должна содержать свойства uri, name и type.

Пример:

formData.append("receipt", {
    uri: imageUri, //uri of image
    name: imageName, //name of the image
    type: typeOfImage //type of the image like 'image/jpg' or  'image/png' 
});

Оставьте все как есть.

...