• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

javascript - 缺少请求的请求 token

[复制链接]
菜鸟教程小白 发表于 2022-12-11 22:08:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

从电话簿中获取所有联系人并上传到服务器,但出现以下错误。

在请求正文中附加图像时 FormData

enter image description here

尝试过的代码

传递文件 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)
})



Best Answer-推荐答案


问题来自 [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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap