2015-11-04 96 views
0

我試圖首次實現Fine Uploader並且有問題。我有上傳者將文件推送到我的S3存儲桶。我遇到的問題是文件正在重新命名爲某種字符串。使用Fine Uploader時保留文件名

下面是一個例子:4f65aefe-c55b-42b0-afd4-b749c755e7e8.zip

我想,如果能夠保持原來的文件名。那可能嗎?

這裏是頁面上的腳本,我目前的設置則params的:

var uploader = new qq.s3.FineUploader({ 
    element: document.getElementById("fineUploader"), 
    request: { 
     endpoint: "mybucket.amazonaws.com", 
     accessKey: "ABCDEFGHIJKLMNOP" 
    }, 
    signature: { 
     endpoint: "/wp-content/themes/zone/vendor/fineuploader/php-s3-server/endpoint.php" 
    }, 
    iframeSupport: { 
     localBlankPagePath: "/wp-content/themes/zone/success.html" 
    }, 
    cors: { 
     expected: true 
    }, 
    chunking: { 
     enabled: true 
    }, 
    resume: { 
     enabled: true 
    }, 
}); 

我缺少的東西?提前致謝。

回答

0

是的,這是預期的。默認情況下,Fine Uploader S3將使用UUID在將對象發送到S3存儲桶時爲其命名。在幾乎所有情況下,這都是最安全的行爲。如果你改變這個值,你會冒着在發生名稱衝突時用新的覆蓋現有文件的風險。該對象使用附加到「x-amz-meta-qqfilename」標題的原始文件名進行註釋。

如果您必須使用不同的名稱在S3中保存對象,則可以適當修改objectProperties.key選項。 「文件名」的值將使用原始文件名保存對象。您還可以將值設置爲一個函數,您可以根據需要確定名稱,即使使用其他位置的值,只要您的關鍵函數返回Promise即可。在http://docs.fineuploader.com/api/options-s3.html#objectProperties.key閱讀更多關於這個選項。

+0

謝謝,這工作完美! –

相關問題