クライアント側のファイル (画像) のアップロードを jquery から Django-Tastypie に実装する方法を探しています。
これまでのところ、サーバー側は CURL を使用した正しいテストのようです:
この投稿が役に立ちました。Django-tastypie: POST でのファイルのアップロードに関する例はありますか?
編集:これは私がcurlで行ったことです->
in api.py :
class MultipartResource(object):
def deserialize(self, request, data, format=None):
if not format:
format = request.META.get('CONTENT_TYPE', 'application/json')
if format == 'application/x-www-form-urlencoded':
return request.POST
if format.startswith('multipart'):
data = request.POST.copy()
data.update(request.FILES)
return data
return super(MultipartResource, self).deserialize(request, data, format)
class FooResource(MultipartResource, ModelResource):
img = fields.FileField(attribute="img", null=True, blank=True)
class Meta:
queryset = Foo.objects.all()
authorization= Authorization()
in models.py :
class Foo(models.Model):
img = models.ImageField(upload_to="images", null=True, blank=True)
body = models.CharField(max_length=255)
次に、 curl を使用して次のコマンドを実行します。
curl -v -F "body=test" -F "img=@my_picture.png" http://localhost:8000/api/v1/foo/
今、私はcurlの代わりにクライアントとしてjqueryで同じことをしようとしています.....運が悪いです。ファイルアップロード用のJquery + Tastypieの実例を見つけるのは難しい...
簡単な例があれば、共有していただきありがとうございます