Javascript 如何通过tastypie上传文件/图像
我在用tastypie开发api时遇到了一个问题。 基本上,我想知道是否有一种方法可以在json中直接将图像发布到tastypie 在我的模型中,我现在使用的是ImageField:Javascript 如何通过tastypie上传文件/图像,javascript,python,django,file-upload,tastypie,Javascript,Python,Django,File Upload,Tastypie,我在用tastypie开发api时遇到了一个问题。 基本上,我想知道是否有一种方法可以在json中直接将图像发布到tastypie 在我的模型中,我现在使用的是ImageField: class MyClass(models.Model): description = models.TextField() user = models.ForeignKey(User) photo = models.ImageField(upload_to="image",
class MyClass(models.Model):
description = models.TextField()
user = models.ForeignKey(User)
photo = models.ImageField(upload_to="image", null=True, blank=True)
然后在我的api文件中:
class InquiryResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user' ,full=True)
photo = fields.FileField(attribute = 'photo', null=True, blank = True)
class Meta :
queryset = MyClass.objects.all()
resource_name = "MyClass"
authorization = Authorization()
当我发送一个只有用户和描述的基本json时,它工作得很好。
然后,当我添加有关我的图像的信息时:
{ ... ,
photo : {
Content-Type : "image/png",
file : "base64string", <----- this one contains the file as a long string
name : "test.png"
} ...}
{,
照片:{
内容类型:“图像/png”,
文件:“base64string”,是的,您可以只使用Base64FileField:
阅读更多信息:您需要编写一个自定义的hydrogo\u photo()
函数,该函数接收JSON子文档并填充文件字段-TastyPie不支持您开箱即用的操作。好的,谢谢您的回答