在我的 React Native 应用程序中,我想使用 fetch 将图像文件上传到我的服务器。我收到 200 响应,但图片未上传。我的提取看起来像...
let url = Config.base_url + '/photos'
let filename = this.state.image.substr(this.state.image.lastIndexOf('/') + 1)
// filename: something.jpg
let data = new FormData()
data.append('photo', {
uri: this.state.image,
type: 'image/jpeg',
name: filename
})
fetch(url, {
method: 'POST',
body: data,
headers: {
Accept: 'application/json'
}
}).then(res => {
console.log(res)
})
Apache 错误日志中没有错误。
我的访问日志中的条目看起来像...
123.45.67.89 - - [26/Jul/2018:18:47:30 +0000] "GET /photos/ HTTP/1.1" 200 649 "-" "Ally/1 CFNetwork/901.1 Darwin/17.7.0"
最佳答案
如果没有看到您的服务器代码,很难判断,但您应该检查一些事项。
尽管您的代码显示它正在使用“POST”,但您的访问日志显示“GET”。您确定这是正确的日志条目吗?
在您的服务器中,在接收照片的功能中,您可以记录传入的请求吗?尝试记录正文,看看它是否符合您的预期。
您能否从其他服务(例如 cURL)或类似 this 的应用手动发送请求? ?如果可行,那么问题出在您发送请求的方式上。如果这不起作用,则可能是您的服务器出现问题。
关于javascript - 使用 fetch 上传图片,我得到 200 状态,但图片没有上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51545827/