2

我正在尝试从 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
            });

    },
4

0 回答 0