У меня есть компонент, который принимает отброшенные файлы (изображения), а затем может загрузить их на сервер.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 (он отправляет намного больше байтов), чтобы преобразовать в строку ... но ничего не работает.