Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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
Angular 4到Django REST图像上载_Django_Angular_Django Models_Django Rest Framework_Image Uploading - Fatal编程技术网

Angular 4到Django REST图像上载

Angular 4到Django REST图像上载,django,angular,django-models,django-rest-framework,image-uploading,Django,Angular,Django Models,Django Rest Framework,Image Uploading,我有一个带有models.ImageField()的django REST API,我可以从django本身上传照片,我的问题是当我试图从角度上传照片时 .html 错误是this.imageSrc不是一个文件,我应该如何通过它?我需要将哪些数据发送到ImageField() 上帝般的图书馆:D class HouseImSerializer(serializers.ModelSerializer): image = Base64ImageField(required=False)

我有一个带有models.ImageField()的django REST API,我可以从django本身上传照片,我的问题是当我试图从角度上传照片时

.html

错误是this.imageSrc不是一个文件,我应该如何通过它?我需要将哪些数据发送到ImageField()

上帝般的图书馆:D

class HouseImSerializer(serializers.ModelSerializer):
    image = Base64ImageField(required=False)

    class Meta:
        model = tedbnbhouseimages
        fields = ('house', 'image', 'photo')

    def create(self, validated_data):
        house = validated_data['house']
        if not validated_data['photo']:
            photo = validated_data['image']
        else:
            photo = validated_data['photo']
        houseimage = tedbnbhouseimages(
            house = house,
            photo = photo,
        )
        houseimage.save()
        return houseimage
photo=Imagefield from models.py,photo不需要在字段上,但我保留它以便通过DRF快速创建

Update(form){
  let body = {
    house: 3,
    photourl: this.imageSrc
  }
  console.log(this.imageSrc)
  this.http.Post('http://127.0.0.1:8000/api/photos', body).subscribe( res => console.log(res))
  console.log(form)
}

attachFile(event) : void {
    var reader = new FileReader();
    let _self = this;

    reader.onload = function(e) {
      _self.imageSrc = reader.result;
    };
    reader.readAsDataURL(event.target.files[0]);
   }
class HouseImSerializer(serializers.ModelSerializer):
    image = Base64ImageField(required=False)

    class Meta:
        model = tedbnbhouseimages
        fields = ('house', 'image', 'photo')

    def create(self, validated_data):
        house = validated_data['house']
        if not validated_data['photo']:
            photo = validated_data['image']
        else:
            photo = validated_data['photo']
        houseimage = tedbnbhouseimages(
            house = house,
            photo = photo,
        )
        houseimage.save()
        return houseimage