利用可能なインターネットチュートリアルがたくさん試されましたが、まだ機能させることはできません。私はNodeJSにmulterモジュールを使用し、AngularJSにはng-file-uploadを使用します。私は、2つのシナリオがあり、両方のアップロードが別のフォルダに移動しなければならないので、マルチタ設定で2つのヘルパーを作った。バックエンドファイルはAPP/APP_BACK /フォルダにありますので、宛先パスでは1つのフォルダに戻り、APP_FRONT/images/headerと入力します。ここで1つのヘルパー・スニペット(/helpers/uploadHeader.js)である:NodeJS&Angular Imageアップロード
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, '../APP_FRONT/images/header/');
},
filename: function (req, file, callback) {
var ext = filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2);
callback(null, file.fieldname + '-' + '.' + ext);
}
});
var upload = multer(
{storage: storage}
);
var helper = {
upload: upload
};
module.exports = helper;
ここでルータファイルである:
var headerHelper= require('../helpers/uploadHeader');
router.post('/header', headerHelper.upload.single('header'), function(req, res, next) {
headerHelper.upload(req, res, function(err){
if(err){
res.status(400).send(err);
console.log(err);
return;
}
res.status(200).send({ code:200, message:'Header upload successful!' });
});
});
「ヘッダ」入力フォームまたはポストマンのキー値の名前であろう。角度において
、私はアプリケーションの「ngFileUpload」モジュールを注入し、所望のコントローラに「アップロード」サービスを注入し、クライアント側でフォーム内のボタン上に結合されuploadHeader()関数の中にそれを使用する:
$scope.uploadHeader = function (file) {
Upload.upload({
url: 'http://localhost:3003/upload/header',
method: 'POST',
file: file
}).then(function (response) {
console.log('Success ' + response.config.data.file.name + 'uploaded. Response: ' + response.data);
}, function (error) {
console.log('Error status: ' + error.status);
}, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded/evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
});
私は郵便配達してみました:
そして、このエラーが出ます:
"エラー:ENOENT:そのようなファイルやディレクトリはありません、オープン' C:ユーザー名\デスクトップ\ APP \ APP_FRONT \画像\ \ Users \ユーザーヘッダーの\ header.jpg '"
私はクライアント側からしようとすると、私はこれらを取得しますエラー:
"エラー:予期しないフィールド
makeErrorで" と は "TypeError例外は:DBGは未定義です"
私は既にGoogleに相談し、トンチュートリアルのいくつかをriedが、これに固執しています。
"TypeError:dbg is undefined"はmozillaのファイヤーバグエラー – AlainIb
あなたはあなたの 'html'コードを提供しますか?私はエラーがあると信じています。 'name'属性の値が' header'であることを確信していますか? –