Angular 2图像上传损坏

时间:2017-04-18 08:21:25

标签: angular file-upload image-uploading angular2-forms

我已经创建了以下服务,用于将文件上传到Angular2中的服务器:

import { Component } from '@angular/core';
import { Http, Response, Headers, RequestOptionsArgs } from '@angular/http'
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';

@Injectable()
export class UploadService {
    constructor(private http: Http) {
    }

    public upload(url: string, file: File, type: string): Observable<Response>{
        let formData: FormData = new FormData()
        formData.append("uploadFile", file);
        let headers = new Headers(); 
        headers.append('Content-Type', type);
        let opts:RequestOptionsArgs = { headers: headers };
        return this.http.put(url, formData, opts)
    }
}

它适用于大多数数据类型,除了我有一个奇怪的问题,对于图像,它将以下标题添加到文件的顶部:

------ WebKitFormBoundaryUmPd3GQyQ1XQfCFv 内容处理:表格数据;名称=&#34; uploadFile&#34 ;;文件名=&#34; Picture_Lotus-01.JPG&#34; 内容类型:image / jpeg

除此之外,所有数据都已正确上传;即如果我然后下载文件并删除这些标题行,图像是可读的。我已经使用Postman对上传进行了测试,并且工作正常,因此我认为这是我在angular2上传中配置标题信息的方式。 救命!!我现在一直在反对这一整天!

1 个答案:

答案 0 :(得分:0)

这是multipart / form-data的标准,我需要一个足够的解析器服务器端。