繁体   English   中英

使用nervgh / angular-file-upload上传角度文件

[英]angular file upload with nervgh/angular-file-upload

我正在从实现https://github.com/nervgh/angular-file-upload插件的角度上传文件,我的设置是这样的:

var vm = this,
    apiUrl = appConfig.getItem('BASE_API_URL'), // base url;

vm.uploader = $scope.uploader = new FileUploader({
    url: apiUrl + '/invoices/upload',
    headers: {
      "Content-Type": undefined
    }
});

// this function is triggered by a button outside
vm.uploadAll = function () { 
  vm.uploader.uploadAll();
};

在HTML我

    <input id="uploadFileButton"
       type="file"
       nv-file-select
       uploader="FUCtrl.uploader"
       multiple
       style="display: none;"/> 
    // the display none is due to that this input is click triggered
    // by an outside button

事情是,在客户端开始发布请求,我看到了 在此处输入图片说明

上传图片(理论上),但是Content-Type是不确定的,缺少enctype,另一方面,在服务器端,我有这个

var express = require('express'),
    multer  = require('multer'),
    cors = require('cors');

var app = express();

app.use(cors());
app.get('*', function(){});

app.use(multer({dest:'./uploads/'}).single('photo'));

app.post('/upload', function(req, res){

  console.log('hit');

  console.log(req.body); // form fields
  console.log(req.files); // form files
  res.status(204).end();

});

app.listen(3000);

但是当我收到帖子时,我会在控制台上看到console.log(req.body); // {} console.log(req.files); //未定义

而且我无法从pdf的上传中获取任何数据

我想念什么?

嘿,我不知道该插件。 但是我正在使用这个https://github.com/danialfarid/ng-file-upload插件,我发现非常有用。 这是上传文件的最简单方法。

Upload with form submit and validations:

http://jsfiddle.net/danialfarid/maqbzv15/1118/

Upload multiple files one by one on file select:    

http://jsfiddle.net/danialfarid/2vq88rfs/136/

Upload multiple files in one request on file select (html5 only): 

http://jsfiddle.net/danialfarid/huhjo9jm/5/

Upload single file on file select: 

http://jsfiddle.net/danialfarid/0mz6ff9o/135/

Drop and upload with $watch: 

http://jsfiddle.net/danialfarid/s8kc7wg0/400/

Image Crop and Upload 

http://jsfiddle.net/danialfarid/xxo3sk41/590/

最后,我发现了HTML上的解决方案

nv-file-select

应该

nv-file-select=""

并删除

headers: {
  "Content-Type": undefined
}

从上载器的配置来看,显然那些东西并没有很好地设置内容类型及其边界,所以我将它们淘汰了并使其正常工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM