文件未使用 ngfileupload 存储在本地
files are not storing in local using ngfileupload
我正在尝试使用服务器上的节点 Api 上传文件,我正在使用 ngfileupload angular 模块在前端处理图像。
下面是我的代码:
app.controller('MyCtrl',['Upload','$window',function(Upload,$window){
var vm = this;
vm.submit = function(){
if (vm.upload_form.file.$valid && vm.file) {
vm.upload(vm.file);
}
}
vm.upload = function (file) {
Upload.upload({
url: '/api/upload',
data:{file:file} model
}).then(function (resp) {
if(resp.data.error_code === 0){ //validate success
$window.alert('Success ' + resp.config.data.file.name + 'uploaded. Response: ');
} else {
$window.alert('an error occured');
}
}, function (resp) {
console.log('Error status: ' + resp.status);
$window.alert('Error status: ' + resp.status);
}, function (evt) {
console.log(evt);
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
vm.progress = 'progress: ' + progressPercentage + '% ';
});
};
}]);
我的节点 api 代码是
apiRoutes.put('/upload', function(req, res){
var fstream;
req.pipe(req.busboy);
req.busboy.on('file', function(fieldname,file,filename){
var filePath=path.join(__dirname, './public/file', filename);
fstream=fs.createWriteStream(filePath);
file.pipe(fstream);
fstream.on('close', function(){
console.log("File Saved...........");
});
});
});
现在的问题是,当我点击上传按钮时,它显示了一个警告 Error Status:404
和一个错误:
Not allowed to load local resource: file:///C:/fakepath/IMG-20160126-WA0013.jpg
我不知道如何解决它...
请帮助我
NgFileUpload
默认发送POST
请求。您的 api 路由器仅接受 PUT
请求。
尝试将 apiRoutes.put...
更改为 apiRouter.post...
或设置
Upload.upload({
url: '/api/upload',
data: {file:file},
method: 'PUT'
})
我正在尝试使用服务器上的节点 Api 上传文件,我正在使用 ngfileupload angular 模块在前端处理图像。 下面是我的代码:
app.controller('MyCtrl',['Upload','$window',function(Upload,$window){
var vm = this;
vm.submit = function(){
if (vm.upload_form.file.$valid && vm.file) {
vm.upload(vm.file);
}
}
vm.upload = function (file) {
Upload.upload({
url: '/api/upload',
data:{file:file} model
}).then(function (resp) {
if(resp.data.error_code === 0){ //validate success
$window.alert('Success ' + resp.config.data.file.name + 'uploaded. Response: ');
} else {
$window.alert('an error occured');
}
}, function (resp) {
console.log('Error status: ' + resp.status);
$window.alert('Error status: ' + resp.status);
}, function (evt) {
console.log(evt);
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
vm.progress = 'progress: ' + progressPercentage + '% ';
});
};
}]);
我的节点 api 代码是
apiRoutes.put('/upload', function(req, res){
var fstream;
req.pipe(req.busboy);
req.busboy.on('file', function(fieldname,file,filename){
var filePath=path.join(__dirname, './public/file', filename);
fstream=fs.createWriteStream(filePath);
file.pipe(fstream);
fstream.on('close', function(){
console.log("File Saved...........");
});
});
});
现在的问题是,当我点击上传按钮时,它显示了一个警告 Error Status:404
和一个错误:
Not allowed to load local resource: file:///C:/fakepath/IMG-20160126-WA0013.jpg
我不知道如何解决它...
请帮助我
NgFileUpload
默认发送POST
请求。您的 api 路由器仅接受 PUT
请求。
尝试将 apiRoutes.put...
更改为 apiRouter.post...
或设置
Upload.upload({
url: '/api/upload',
data: {file:file},
method: 'PUT'
})