2016-02-19 2 views
0

У меня есть компонент, который принимает отброшенные файлы (изображения), а затем может загрузить их на сервер.HTTP-сообщение двоичный файл в Angular2

export class MyComp { 
    function save() { 
    let data : ArrayBuffer = this.readFile(this.file); 
    this.imageService.upload(data); 
    } 
} 

почтовый сервис данные на сервер в виде двоичного содержимого (контента тип изображения/PNG).

@Injectable() 
export class ImageService { 
    private http: Http; 

    constructor(@Inject()http: Http) { 
     this.http = http; 
    } 
    upload(image: ArrayBuffer) { 
     let headers = new Headers({ 'Content-Type': 'image/png' }); 
     //let arr = new Int16Array(image); 
     //let body = String.fromCharCode.apply(null, arr); 
     return this.http 
      .put('/upload', body, { headers: headers }) 
      .map(response => response.json()); 
    } 

Проблема в том, что я не прихожу для отправки двоичных данных (ArrayBuffer). Я пытаюсь отправить ArrayBuffer (он отправляет строку «ArrayBuffer»!), Чтобы отправить Int16Array (он отправляет намного больше байтов), чтобы преобразовать в строку ... но ничего не работает.

ответ

2

Эти методы еще не реализованы; проверьте источник на request и response.

export class Request { 
    // TODO: support URLSearchParams | FormData | Blob | ArrayBuffer 
} 
export class Response { 
    // TODO: Support ArrayBuffer, JSON, FormData, Blob 
} 
Смежные вопросы