react-native - React Native 与 Asp.net Core 照片上传
问题描述
我想用 React Native 上传照片。我对 Postman 的 API 尝试得到了肯定的结果。但是 React Native 没有成功。
反应原生功能
uploadPhoto = async response => {
const data = new FormData();
data.append("image", {
uri: response.uri,
type: response.type,
name: response.fileName,
length:response.fileSize
});
const config={
headers:{
'Content-type':'multipart/form-data'
}
}
axios
.post('https://localhost:44337/api/values',JSON.stringify(data),config)
.then(response=>{
console.log(response);
})
.catch(error=>{console.log(error);})
};
Asp.net Core 端
[HttpPost]
public IActionResult Post([FromForm]PhotoModel bookData)
{
//installation codes
return Ok();
}
模型
public class PhotoModel
{
public IFormFile image { get; set; }
}
结果:网络错误
解决方案
您可以尝试反应本机代码。希望对你有所帮助。
export const uploadImages = async (formData) => {
try {
let response = await axios({
url: urlUploadImages,
method: 'POST',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, PUT, OPTIONS, DELETE',
'Access-Control-Allow-Headers': 'Access-Control-Allow-Methods, Access-Control-Allow-Origin, Origin, Accept, Content-Type',
'Accept': 'application/x-www-form-urlencoded',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + global.TOKEN || 'Bearer ' + await AsyncStorage.getItem("@loggedInUserID:token"),
},
data: formData,
});
console.log('uploadImages API response', response)
if (response.status === 401) {
return global.UNAUTHORIZE;
} else {
// let json = await response;
if (response.status === 200) {
return response.data;
} else {
return global.FAIL;
}
}
} catch (error) {
console.log('Upload Failed', error);
}
};
推荐阅读
- c++ - 如何使用 windows api 读写文本文件
- email - 订购电子邮件确认 magento 2
- java - 从组合框中获取选定的值返回 null javafx
- web-scraping - IMPORTXML 返回为空白
- visual-studio-code - 阻止 VS 代码通知:“启动”已在运行。是否要启动另一个实例?
- linq - 如何使用表达式函数调用类型的方法
- xcode - 安装可可豆荚后出现“ld:找不到选项的目录”构建错误
- php - PHP API 的网关错误问题
- excel - 为什么 Pandas 不读取 xlsx 文件?
- php - 如何包含 PHP 并传入查询,以便它在 URL 中没有查询字符串的情况下呈现