簡體   English   中英

發送 FormData 在 React-Native 中不起作用

[英]Sending FormData not working in React-Native

我嘗試與 API 通信以從 Iphone 發送圖片。 我使用 Postman 發送表單數據(鍵:mainPicture,值“我選擇的文件”)並且它運行良好。

當我嘗試在 js 中執行此操作時出現問題:API 在我的請求中找不到該文件。

這是我的代碼:

  const formData = new FormData();
  formData.append('mainPicture', {
    uri: mainPicture.uri,
    type: 'image/jpg',
    name: `${mainPicture.id}.jpg`,
  });
  // ...
  // api come from apisauce package
  api.post(API_RES_IMG, formData, { headers: { ['Content-Type']: 'multipart/form-data' } })

服務器說:“錯誤:多部分:未找到邊界”

如果沒有內容類型,服務器會收到:

{"_parts":{"0":{"0":"mainPicture","1":{"uri":"assets-library://asset/asset.JPG?id=DE830A54-2526-44CB-81FE-00786D152080&ext=JPG","type":"image/jpg","name":"1e23519b-2006-4676-b63c-624e8198e17b.jpg"}}}}

從簡單的事情中掙扎太多。

我在這里看到的幾個問題:

1) 使用 fetch API 時,我們不需要設置 Content-Type 標頭,因為 fetch 會處理這個問題,而且它也會處理邊界的填充。 我假設這與 apisauce 相同,但是我可能是錯的。

2) 類型:'image/jpg' 不是有效的 MIME 類型。 它應該是類型:'image/jpeg'。

你應該添加內容類型

'內容類型':類型 === '表單' ? 'multipart/form-data':'應用程序/json',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM