我尝试使用以下代码在服务器上上传图像:
updateAvatar(token, photo) {
return postImage(
"http://lk.skilla.ru/myapi/updateAvatar",
[
{
name: "avatar",
filename: "avatar.jpg",
type: "image/jpg",
data: Platform.OS === "android" ? RNFetchBlob.wrap(photo) : photo,
},
],
token
);
},
const postImage = (url, params, token) => {
return RNFetchBlob.config({ fileCache: true, appendExt: "jpg" })
.fetch(
"POST",
url,
{ Authorization: token, "Content-Type": "multipart/form-data" },
params
)
.then((res) => {
console.log("response");
console.log(res.text());
return Platform.OS === 'android' ? 'file://' + res.path() : '' + res.path()
})
.catch((error) => console.log(error));
};
在android上一切正常,但在RN-Fetch-Blob返回的iOS文件上不存在。如何在iOS上包装网址? RNFetchBlob.wrap不起作用
答案 0 :(得分:1)
这就是我让它为我工作的方式。
const filePath = Platform.OS === 'ios'
? res.path().replace('file:///', '').replace('file://', '')
: res.path().replace('file://', '').replace('file:/', '');