ngファイルをアップロードしてファイルをアップロードしようとしていますが、サーバ上に別のファイル名でアップロードしています。ファイル名には元々正しい拡張子(.jpg、.pdf)が付いています。 以下は私のコードです。 コントローラ:元のファイル名でファイルを保存してngファイルをサーバにアップロードする
$scope.uploadPic = function (file) {
$scope.advert.userDetails={
"name":userDetails.name,
"email":userDetails.email,
"role":userDetails.role
}
file.upload = Upload.upload({
url: '/api/uploaders/uploads',
method: 'POST',
fields: {
details: $scope.advert
},
file: file,
fileFormDataName: 'photo'
});
file.upload.then(function (response) {
console.log("Postcontroller: upload then ");
$timeout(function() {
file.result = response.data;
});
}, function (response) {
if (response.status > 0)
$scope.errorMsg = response.status + ': ' + response.data;
});
file.upload.progress(function (evt) {
// Math.min is to fix IE which reports 200% sometimes
file.progress = Math.min(100, parseInt(100.0 * evt.loaded/evt.total));
console.log("PostController: upload progress " + file.progress);
});
file.upload.success(function (data, status, headers, config) {
// file is uploaded successfully
console.log('file ' + config.file.name + 'is uploaded successfully. Response: ' + data);
console.log(data);
});
}
アピ:
var multer = require('multer');
var upload = multer({ dest: 'server/uploads/images'});
が見えます。これを確認してください:http://stackoverflow.com/questions/32654578/reating-image-file-name-and-extension-after-upload-in-node-js-express-using – tomek550