2017-07-07 58 views
2

我试图从Android上传/张贴图像时出现以下网络错误。在iOS上完美运行。当FormData中没有图像时,可以在Android上完美工作。Android的问题上传图像到服务器使用反应本地应用程序中的Axios

export function formatAvatarData(uri) { 
    const form = new FormData(); 
    form.append('avatar', { 
    uri: uri, 
    type: 'file', 
    name: 'image.jpg', 
    }); 
    return form; 
} 

的iOS - [此按预期工作] URI:file:///Users/bobfriston/Library/Developer/CoreSimulator/Devices/16E84C5E-2545-408C-B870-38054DFA3471/data/Containers/Data/Application/7D2F59E5-450A-4A60-962A-D5C368DCD8DF/Documents/images/F5AD02D9-6C3E-46E5-B54E-D5C98206BAAA.jpg

机器人URI - [这给网络错误如下] URI:content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F79/ORIGINAL/NONE/1408072274

Error: Network Error 
    at createError (createError.js:15) 
    at XMLHttpRequest.handleError (xhr.js:87) 
    at XMLHttpRequest.dispatchEvent (event-target.js:172) 
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:542) 
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:378) 

注意: “反应-native“:”= 0.42.3“

AndroidManifest.xml具有这些权限,包括uded:

android.permission.INTERNET" 
android.permission.SYSTEM_ALERT_WINDOW"/> 
android.permission.CAMERA" /> 
android.permission.WRITE_EXTERNAL_STORAGE"/> 

回答

1

尝试改变typeimage/jpeg

export function formatAvatarData(uri) { 
    const form = new FormData(); 
    form.append('avatar', { 
    uri: uri, 
    type: 'image/jpeg', // <-- this 
    name: 'image.jpg', 
    }); 
    return form; 
} 
相关问题