0
をアップロードするに破る私は、モデルの製品を持っている:DjangoのRESTフレームワーク、画像が
class Product(models.Model):
...
image = models.ImageField(
upload_to=lambda instance, filename: 'images/{0}/{1}'.format(instance.id, filename),
max_length=254, blank=True, null=True
)
...
それから私は持っているシリアライザ:
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = (
...
'image',
...
)
そして私は、ビューがあります。
class ProductViewSet(BaseViewSet, viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
@detail_route(methods=['POST'])
def upload_image(self, request, *args, **kwargs):
upload = request.data['file']
print(upload.name)
product = self.get_object()
product.image.delete()
upload = request.data['file']
product.image.save(upload.name, upload)
return Response({'Location': product.image.url}, status=status.HTTP_201_CREATED)
問題があるの画像のみで画像のアップロード時に「ソースコード」の変更があり、ブラウザの黒いウィンドウで開くことができません。 MP3とPDF形式はうまく動作します。なぜそれが起こるのですか?ありがとうございました。
問題はパーサで、私はMultiPartParserの代わりにFileUploadParserを使用しました:)ありがとうございます! –