Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过tastypie上传文件/图像_Javascript_Python_Django_File Upload_Tastypie - Fatal编程技术网

Javascript 如何通过tastypie上传文件/图像

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",

我在用tastypie开发api时遇到了一个问题。 基本上,我想知道是否有一种方法可以在json中直接将图像发布到tastypie

在我的模型中,我现在使用的是ImageField:

  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不支持您开箱即用的操作。好的,谢谢您的回答