Javascript 从ionic2将图像文件从照相机或图库上载到node.js rest服务
我一直在尝试从我的Ionic 2应用程序上传一个图像到node.js rest服务(使用multer实现) 我调用下面的upload pic方法,将图像本地文件路径和一个附加参数传递给节点服务 我可以在chrome开发工具中看到文件数据,但onreadystatechange似乎从未被触发 我使用的是离子2 beta 2.0.0.17。非常感谢您的帮助Javascript 从ionic2将图像文件从照相机或图库上载到node.js rest服务,javascript,file-upload,ionic-framework,angular,ionic2,Javascript,File Upload,Ionic Framework,Angular,Ionic2,我一直在尝试从我的Ionic 2应用程序上传一个图像到node.js rest服务(使用multer实现) 我调用下面的upload pic方法,将图像本地文件路径和一个附加参数传递给节点服务 我可以在chrome开发工具中看到文件数据,但onreadystatechange似乎从未被触发 我使用的是离子2 beta 2.0.0.17。非常感谢您的帮助 uploadPic(personid,imageData) { var fileStream = null; var self
uploadPic(personid,imageData) {
var fileStream = null;
var self = this.resource;
return new Promise((resolve, reject) => {
window.resolveLocalFileSystemURL(imageData,
(fileDetail) => {
fileDetail.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
}
fileStream = reader.result;
var formdata=new FormData();
formdata.append("upload", fileStream, "help.png");
formdata.append('filename', personid + '.png');
formdata.append('personId', personid);
let xhr:XMLHttpRequest = new XMLHttpRequest();
xhr.open('POST', self.api_url + self.method_persons + '/photo', true);
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
resolve(JSON.parse(xhr.response));
} else {
reject(xhr.response);
}
}
};
xhr.setRequestHeader('hpApp-Token', self.entity_token);
xhr.setRequestHeader('Authorization','Bearer '+ self.usr_token);
xhr.send(formdata);
});
},
(err)=> {
console.log("read error",err)
});
});