从电话簿中获取所有联系人并上传到服务器,但出现以下错误。
在请求正文中附加图像时 FormData
尝试过的代码
传递文件 url 联系人 thumbnailPath
const path = con.thumbnailPath
body.append('image', {
uri: path,
type: 'image/jpeg',
name: 'photo.jpg',
type: 'multipart/form-data'
})
尝试过的代码
不带“file://”传递文件 url 联系人 thumbnailPath
const path = con.thumbnailPath.replace('file://', '')
body.append('image', {
uri: path,
type: 'image/jpeg',
name: 'photo.jpg',
type: 'multipart/form-data'
})
尝试过的代码
使用 react-native-fs
if (con.thumbnailPath != '') {
let isExist = RNFS.exists(con.thumbnailPath)
if (isExist) {
const path = con.thumbnailPath.replace('file://', '')
console.log("Exist", path)
body.append('image', {
uri: path,
type: 'image/jpeg',
name: 'photo.jpg',
type: 'multipart/form-data'
})
}
}
请求
fetch(url, {
method: 'OST',
headers: {
'Authorization': token,
'token': token
},
body: params
})
.then((res) => res.json())
.then((json) => {
console.log("RESPONSE:- ", json)
if (json.response[0].status == 'false') {
let msg = json.response[0].response_msg
callback(new Error(msg), json.response[0])
}
else {
callback(null, json.response[0])
}
})
.catch((err) => {
console.log(err)
callback(err, null)
})
问题来自 [email protected]
的内部错误。
一个快速的解决方案是恢复这个提交:https://github.com/facebook/react-native/commit/31980094107ed37f8de70972dbcc319cc9a26339#diff-9a034658197479288c4d346a0eb4d98c
在 node_modules
中手动还原此提交后,重新编译应用程序,图像上传将正常工作。
将 /Libraries/Image/RCTLocalAssetImageLoader.mm
中的函数 loadImageForURL
替换为:
- (RCTImageLoaderCancellationBlock)loadImageForURLNSURL *)imageURL
sizeCGSize)size
scaleCGFloat)scale
resizeModeRCTResizeMode)resizeMode
progressHandlerRCTImageLoaderProgressBlock)progressHandler
partialLoadHandlerRCTImageLoaderPartialLoadBlock)partialLoadHandler
completionHandlerRCTImageLoaderCompletionBlock)completionHandler
{
__block auto cancelled = std::make_shared<std::atomic<bool>>(false);
RCTExecuteOnMainQueue(^{
if (cancelled->load()) {
return;
}
UIImage *image = RCTImageFromLocalAssetURL(imageURL);
if (image) {
if (progressHandler) {
progressHandler(1, 1);
}
completionHandler(nil, image);
} else {
NSString *message = [NSString stringWithFormat"Could not find image %@", imageURL];
RCTLogWarn(@"%@", message);
completionHandler(RCTErrorWithMessage(message), nil);
}
});
return ^{
cancelled->store(true);
};
}
关于javascript - 缺少请求的请求 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54663887/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |