3

Fine Uploader を使用して S3 バケット内のフォルダにアップロードできるかどうかは誰にもわかりませんか? リクエスト エンドポイントに「\foldername」を追加しようとしましたが、うまくいきませんでした。

ありがとう。

4

4 に答える 4

7

S3 にはフォルダがありません。一部の UI (AWS コンソールの UI など) と高レベルの API は、抽象化としてこの概念を提供する場合がありますが、S3 にはフォルダーのネイティブな理解はなく、キーのみが理解されます。任意のキーを作成して Fine Uploader S3 に渡すことができます。Fine Uploader S3 は、その特定のキーを指定してそのファイルを保存します。たとえば、「folder1/subfolder/foobar.txt」は完全に有効なキー名です。デフォルトでは、Fine Uploader は UUID を生成し、それをオブジェクトのキー名として使用しますが、objectProperties.key値を指定することでこれを簡単に変更できます。これは関数でもかまいません。詳細については、ドキュメントのS3objectPropertiesオプションを参照してください。

于 2013-11-23T18:50:54.780 に答える
5

これは私のために働く:

var uploader = new qq.s3.FineUploader({
    // ...
    objectProperties: {
        key: function(fileId) {
            return 'folder/within/bucket/' + this.getUuid(fileId);
        }
    }
});
于 2016-12-07T04:01:48.200 に答える
3
$("#fineuploader-s3").fineUploaderS3({
    // ....
    objectProperties: {
        key: function (fileId) {

            var filename = $('#fineuploader-s3').fineUploader('getName', fileId);
            var uuid = $('#fineuploader-s3').fineUploader('getUuid', fileId);
            var ext = filename.substr(filename.lastIndexOf('.') + 1); 

           return  'folder/within/bucket/' + uuid + '.' + ext;
        }
    }
});
于 2015-02-17T16:18:58.997 に答える
0

サーバーにアップロードする前にパスを変更できます。

uploader.on('submit', (id) => {   
  const key = s3Uploader.methods.getUuid(id)   
  const newkey = 'folder/within/bucket/' + key   
  uploader.methods.setUuid(id, newkey) 
})
于 2017-12-02T09:10:20.710 に答える