大佬教程收集整理的这篇文章主要介绍了使用 javascript 在 django-rest-framework 服务器上发布图像的正确方法是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 POST API 视图,它接受图像和样式字符串并返回样式图像。 它在邮递员身上工作得很好,但我无法使用 fetch API 让它工作。
序列化器:
class Getimageserializer(serializers.serializer):
image = serializers.ImageFIEld()
style = serializers.CharFIEld()
DRF 视图:
class Postimage(APIVIEw):
serializer_class = Getimageserializer
parser_classes = [MultiPartParser]
def post(self,request,format=NonE):
print(request.data) # DeBUG
img = request.data.get('image')
# Process
response = fileResponse(img)
return response
获取调用:
Json = {}
Json["image"] = this.state.image
Json["style"] = "models\\wave\\wave200.pth"
console.log("sending --- ",Json) //deBUG
fetch('/style_transfer/style/',{
headers: { "Content-type": "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" },body: Json,method: "POST"
}
).then(response => {
if (!response.ok) {
console.log("Couldn't fetch image")
}
return response.Json()
})
.then(data => {
console.log("fetched data")
console.log(data)
控制台日志的输出。这表明正确的数据在Json字典中
但是数据没有被 DRF 服务器接收。 视图中的print(request.data)
返回 <queryDict: {}>
。
奇怪的是,同样的代码与邮递员一起工作。
headers
- 这会引发不支持的媒体类型错误"application/Json"
- 这会读取字符串参数,但图像键为空。这就是request.data
的样子{'image': {},'style': 'models\\wave\\wave200.pth'}
我想了解导致此问题的原因。我已经阅读了几个类似的主题,但我找不到推荐的方法来做这样的事情。那么,有什么问题?推荐的做法是什么?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的使用 javascript 在 django-rest-framework 服务器上发布图像的正确方法是什么?全部内容,希望文章能够帮你解决使用 javascript 在 django-rest-framework 服务器上发布图像的正确方法是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。