我在 Cordova-2.2.0 上构建了这个 Android 应用程序,我在服务器端使用节点。有一部分需要将图像从相机或文件发送到服务器。图片已成功上传到服务器,但保存时似乎已损坏。如果我在记事本上打开图像,文件上有这个“额外的标题”。除此之外,所有文件都是一样的。这是我在客户端上的代码:
function getPhoto() {
navigator.camera.getPicture(uploadPhoto,
function(message) { alert('No image selected');},
{ quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
);
}
function uploadPhoto(imageURI) {
var largeImage = document.getElementById('Image');
largeImage.style.display = 'block';
largeImage.src = imageURI;
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpg";
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(imageURI, "http://10.8.13.92:8082", win, fail, options);
}
这是服务器上的代码:
http.createServer(function (req,res){
var fs = require('fs');
var imagen = fs.createWriteStream("imagen.jpg",{'flags':'a'});
req.addListener('response',function(response){
})
});
req.addListener('data',function(chunk){
imagen.write(chunk,encoding='binary');
});
req.on('end',function(){
imagen.end();
console.log('File written');
});
}).listen(8082);
我知道问题出在服务器上,但我找不到任何与此不同的东西来编写 .jpg 文件。