2017-03-14 7 views
0

ループバックコンポーネントストレージにアップロードする前にファイルの名前を変更するのが難しいです。ループバックは同じように組み込みのオプションを提供しません。ループバックコンポーネントストレージ内のリモートフックを使用してファイルをアップロードする前に名前を変更

this.fileExtension = '.' + item.file.name.split('.').pop(); 
item.file.name = Math.random().toString(36).substring(7) + new Date().getTime() + this.fileExtension; 

ループバック・コンポーネント・ストレージにアップロード方法のリモートフックの前で同じ操作を行うことが可能である:角度のフォームからアップロードするために、私は以下の方法を使用してファイル名を変更するには、角アップローダbeforeupload方法を使用していました?私の意図は、モバイルデバイスからのapi要求に対して同じファイル名変更操作を行うことです。リモートフックで同じことができない場合は、同じ結果を得るための他の方法がありますか?前もって感謝します!

答えて

2

storage DSがdatasources.jsonで定義されているとします。

あなたはブートスクリプトでそれを行うことができます。

//server/boot/any.js 
module.exports = function(app){ 
app.dataSources.storage.connector.getFilename = function (file, req, res) { 
    //file.name is original filename uploaded 
    var filename = req.query.filename || 'general.ext'; 
    return filename; 
} 
}; 

とアップロードURLにfilenameを追加します。

例:/containers/my-container/upload?filename=profile.jpg

+0

ありがとう!それは命の恩人だった! :) –

関連する問題