美文网首页React Native 整理
React-native使用FormDate上传图片异常总结

React-native使用FormDate上传图片异常总结

作者: JMCC117 | 来源:发表于2017-03-24 15:12 被阅读0次

近期一个用react-native的项目,上传图片功能我们用的是FormDate,按照文档的提示写好代码。

async function uploadFile(url, params, fileUrl,fileName) {
    let Access_Token = await Storage.getItem('Access_Token');
    let data = new FormData();

    data.append('file', {
        uri: fileUrl,
        name: fileName,
        type: 'image/jpeg'
    });
    Object.keys(params).forEach((key)=> {
        if (params[key] instanceof Date) {
            data.append(key, value.toISOString())
        } else {
            data.append(key, String(params[key]))
        }
    });
    const fetchOptions = {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Access_Token': Access_Token ? Access_Token : '',
            'UserAgent':os
        },
        body: data
    };
    return fetch(url, fetchOptions)
        .then(checkStatus)
        .then(parseJSON)
}

android运行之后一切ok,完美上传!但是ios出现了问题,上传都失败了!!!说明发送的参数里面应该有ios无法识别的。找了半天,最后终于确定,是file里面的参数name出了问题。代码如下:


      this.props.onFileUpload(file,response.fileName||'未命名文件')
                .then(result=>{
                    this.setState({
                        loading:false
                    })
                })

因为react-native-image-picker的showImagePicker返回值里面没有fileName,就改成了‘未命名文件’,没有后缀,所以ios无法识别,导致上传失败。改成'未命名文件.jpg'就可以正常上传了。

相关文章

网友评论

    本文标题:React-native使用FormDate上传图片异常总结

    本文链接:https://www.haomeiwen.com/subject/erlfottx.html