2017-01-04 3 views
0

nervgh /アンギュラファイルのアップロードと私のセットアップをアップロード:私は角度ファイル、それはこのようなものだ、私は<a href="https://github.com/nervgh/angular-file-upload" rel="nofollow noreferrer">https://github.com/nervgh/angular-file-upload</a>プラグインを実装した角度からのファイルアップロードをやってる

<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 
を持って

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に

事は、クライアント側でのスタートのために、私はこの enter image description here

を参照してくださいポスト要求は画像が(理論的に)アップロードされていることですが、コンテントタイプは、行方不明の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ファイルのアップロード

から任意のデータを得ることができませんか?

答えて

0

最後に、私は解決策をdiscoverdedてきた、HTML上の

nv-file-select 

nv-file-select="" 
012でなければなりません

と明らかにそれらの物事がうまく、コンテンツタイプと彼の境界を設定していなかったので、私はそれらを土気と

0

私はそのプラグインについて知りません。私はこの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/

+0

[OK]を動作するようにゴイ、I'LL、アップローダー構成から

headers: { "Content-Type": undefined } 

を削除試してみる。 – flaalf

+0

と同じことnervgh – flaalf

+1

と同じことです。transformRequest関数はFormDataオブジェクトをシリアル化しようとします。そのため、データをそのままの状態にするためにidentity関数をオーバーライドします。 POSTとPUTリクエストのAngularのデフォルトのContent-Typeヘッダはapplication/jsonですので、これも変更したいと思います。'Content-Type'を設定しないと、ブラウザはContent-Typeをmultipart/form-dataに設定して正しい境界を埋める。手動で 'Content-Type'を設定する:multipart/form-dataは要求の境界パラメータを埋めることができません。 https://jsfiddle.net/bk129/2ff06ud3/それは私の仕事です – Bhautik

関連する問題

 関連する問題