在我的Ruby on Rails应用程序中,我尝试通过POSTMAN REST客户端上传Base64格式的图像。当我发布这张图片时,我得到了406不可接受的回复。当我检查我的数据库时,图像就在那里并且被成功地保存了。
这个错误的原因是什么,我需要在我的头中指定什么吗?
我的要求是:
URL - http://localhost:3000/exercises.json
标题:
Content-Type - application/json
原始数据:
{
"exercise": {
"subbodypart_ids": [
"1",
"2"
],
"name": "Exercise14"
},
"image_file_name": "Pressurebar Above.jpg",
"image":"******base64 Format*******"
}
发布于 2014-08-03 16:41:31
你提到你正在使用Ruby on Rails作为后端。你没有发布相关方法的代码,但我猜它看起来像这样:
def create
post = Post.create params[:post]
respond_to do |format|
format.json { render :json => post }
end
end
将其更改为:
def create
post = Post.create params[:post])
render :json => post
end
它会解决你的问题。它对我很有效:)
发布于 2018-05-09 06:08:09
“有时”,这可能意味着服务器有一个内部错误,并希望以错误消息响应(例如: 500,JSON有效负载),但由于请求头部没有说明它接受JSON,所以它返回一个406。去想一想。(在本例中: spring boot webapp)。
在这种情况下,您的操作确实失败了。但失败消息被另一个消息掩盖了。
发布于 2016-08-01 06:50:24
当浏览器中存储或引用了无效的cookie时,您也可以收到406响应-例如,在本地以开发模式运行Rails服务器时。
如果您碰巧在同一端口上运行两个不同的项目,浏览器可能会引用来自不同本地主机会话的cookie。
这已经发生在me...tripped me up上一分钟了。在browser > Developer Mode > Network中显示了它。
https://stackoverflow.com/questions/14251851
复制相似问题