我有一个接受删除文件(图像)的组件,然后可以将它们上传到服务器。
export class MyComp {
function save() {
let data : ArrayBuffer = this.readFile(this.file);
this.imageService.upload(data);
}
}
服务将数据作为二进制内容发布到服务器(内容类型为image / 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(它发送更多的字节),转换为字符串...但没有任何作用。