我正在尝试从 iPhone 上传图片。我在fontend中使用ionic和cordova插件,在后端使用express/node.js。当我在 localhost 中尝试时,此代码工作正常。但是当我在heroku中运行时,我收到了这个错误
错误:ENOENT,打开 /var/mobile/Containers/Data/Application/../../image.jpg
我正在使用 multer 处理多部分/表单数据
在 expressjs/node.js 方面我有
router.post('/me/avatar', ensureAuthenticated, function(req, res) {
fs.readFile(String(req.body.imageUrl).substring(7), function(err, data) {
//using String(req.body.imageUrl).substring(7) to avoid file path like "file:///var/mobile/.." in ios simulator and iphone
if (err) {
console.log(err)
res.send({
message: "Error"
})
};
});
})
在离子方面我有
$scope.updateAvatar = function() {
var options = {
maximumImagesCount: 1
};
$cordovaImagePicker.getPictures(options)
.then(function(results) {
$http.post(API_URL+"/users/me/avatar", {
imageUrl: results[0]
})
.success(function(response) {
var random = (new Date()).toString();
$scope.avatar = response.fullPath + "?cb=" + random;
})
}, function(error) {
// error getting photos
});
},