2017-07-14 8 views
0

ループバックのストレージコンポーネント、つまりループバックコンポーネントストレージを正常に設定しました。私はフォルダを作成することができました。しかし、私は(郵便配達を使用して)ファイルをアップロードしようとすると、それは要求中止され、エラーを与え続け:ループバックコンポーネントストレージファイルのアップロード要求が強制終了しました lib incoming_form.js

error: Error: Request aborted 
    at IncomingMessage.<anonymous> (E:\projects\TestProject\node_modules\formidable\lib\incoming_form.js:120:19) 
    at emitNone (events.js:86:13) 
    at IncomingMessage.emit (events.js:185:7) 
    at abortIncoming (_http_server.js:283:11) 
    at TLSSocket.serverSocketCloseListener (_http_server.js:296:5) 
    at emitOne (events.js:101:20) 
    at TLSSocket.emit (events.js:188:7) 
    at _handle.close (net.js:498:12) 
    at Socket.done (_tls_wrap.js:325:7) 
    at Socket.g (events.js:291:16) 
    at emitOne (events.js:96:13) 
    at Socket.emit (events.js:188:7) 
    at TCP._handle.close [as _onclose] (net.js:498:12) 

私はまた、SSLを設定しているので、URLはhttps://localhost/api/containers/container1/uploadです。これは問題なのでしょうか?私は私のpackage.jsonで以下のモジュールを使用しています。

"dependencies": { 
    "body-parser": "^1.17.1", 
    "compression": "^1.6.2", 
    "cors": "^2.8.1", 
    "express": "^4.15.2", 
    "helmet": "^3.4.1", 
    "js2xmlparser": "^3.0.0", 
    "loopback": "^3.4.0", 
    "loopback-boot": "^2.23.0", 
    "loopback-component-explorer": "^4.1.1", 
    "loopback-component-storage": "^3.2.0", 
    "loopback-connector-rest": "^2.1.0", 
    "loopback-datasource-juggler": "^3.2.0", 
    "loopback-ssl": "0.0.9", 
    "multer": "^1.3.0", 
    "strong-error-handler": "^2.1.0", 
    "winston": "^2.3.1" 
    } 

server.jsファイルは以下のようになります。

'use strict'; 

var loopback = require('loopback'); 
var boot = require('loopback-boot'); 
var loopbackSSL = require('loopback-ssl'); 
var bodyParser = require('body-parser'); 
var multer = require('multer'); 

var app = module.exports = loopback(); 
app.use(bodyParser.text()); 

app.start = function() { 
    // start the web server 
    return app.listen(function() { 
    app.emit('started'); 
    var baseUrl = app.get('url').replace(/\/$/, ''); 
    console.log('Web server listening at: %s', baseUrl); 
    if (app.get('loopback-component-explorer')) { 
     var explorerPath = app.get('loopback-component-explorer').mountPath; 
     console.log('Browse your REST API at %s%s', baseUrl, explorerPath); 
    } 
    }); 
}; 

// Bootstrap the application, configure models, datasources and middleware. 
// Sub-apps like REST API are mounted via boot scripts. 
boot(app, __dirname, function (err) { 
    if (err) throw err; 

    if (require.main === module) 
    return loopbackSSL.startServer(app); 
}); 

上記のモジュールのいずれかが問題だろうか?これはノードが大問題であるように見えます。誰でも私に知らせることができますか?ファイルを受け入れるリモートメソッドを記述できますか?

+0

あなたが作成したこれらのフォルダへのアクセス許可はありますか? – itssajan

+0

はい権限があります。 –

答えて

0

私はserver.jsから

app.use(bodyParser.text()); 

を削除することによってこの問題を解決することができました。ファイルは今アップロードされています。私は同様の問題を持っていたし、次の除去は私のために働いたとして、

0

は、他の視聴者のためにコメントを募集(しかし、私は十分な評判を持っていない):

app.use(multer({storage: storage}).any())

はこれを投稿していただきありがとうございますあなたが見つけた解決策、私の解決策はほとんど同じでした。

+0

私もこれを発見しました。問題は、実際にアップロード操作が行われる前にいくつかのマルチパートフィールドを解析したいということです。万が一、ストレージ・コンポーネントでマルターをどのように使用し続けることができたのでしょうか? – Trevor

関連する問題