相关疑难解决方法(0)

Angular2:更改要上载的文件时,不会触发<input type ="file"/>的验证

当文件输入发生变化时,Angular 2似乎在运行验证时遇到麻烦.

我做了一个插图来说明这个问题:

我创建了一个formGroup

this.frm = new FormGroup({
    file: new FormControl("", this.validateFile)
});
Run Code Online (Sandbox Code Playgroud)

在validateFile函数中,我抛出一个警报并记录到控制台:

public validateFile(formControl: FormControl): {[key: string]: any; } {
   alert('Validation ran');
   console.log('Validation ran');
}
Run Code Online (Sandbox Code Playgroud)

Plunkr来说明问题:https://plnkr.co/edit/Pgcg4IkejgaH5YgbY3Ar?p = preview

验证将在初始化页面时运行,但每次更改要上载的文件时都不会运行.

有没有解决这个问题的方法?

angular2-forms angular

18
推荐指数
2
解决办法
3万
查看次数

在Angular2中构建multipart/form-data POST请求并验证输入类型File

我有一个图像(base64),我需要通过POST请求发送(并等待响应).POST请求必须是Content-Type:multipart/form-data.图像需要是Content-Type: image/jpg

POST请求应如下所示:

POST https://www.url... HTTP/1.1
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
User-Agent: Fiddler
Host: www.host.com
Content-Length: 199640

---------------------------acebdf13572468
Content-Disposition: form-data; name="fieldNameHere"; filename="Nikon Digital SLR Camera D3100 14.2MP 2.jpg"
Content-Type: image/jpeg
Run Code Online (Sandbox Code Playgroud)

用二进制图像数据作为内容体.

我正在尝试使用角度2的Http Post方法,但我不太确定如何生成请求.这就是我所拥有的:

let body = atob(imageData);
let headers = new Headers({'Content-Type': 'multipart/form-data'});
let options = new RequestOptions({headers: headers});

this._http.post(url, body, options)
.map(res=>{
  //do stuff
});
Run Code Online (Sandbox Code Playgroud)

我可以说我错过了它的一部分,但我不知道我需要做什么来给二进制图像数据它的内容 - 处置和类型等.

javascript post typescript angular2-forms angular

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×2

angular2-forms ×2

javascript ×1

post ×1

typescript ×1