2016-07-25 42 views
1

content-length-range被驗證設置,它導致的文件大於不能夠是尺寸要添加到上傳的所有:如何在FineUploader S3中設置內容長度範圍?

validation: { 
     sizeLimit: 1048576 
    }, 

我怎麼能只設置content-length-range沒有任何其他的鐘聲/口哨?

+0

你爲什麼要允許用戶提交最終將由S3被拒絕文件? –

+0

@RayNicholus Fineuploader將拍攝圖像並將其縮小,直到尺寸限制在上限內,然後上傳。 – dtgq

+0

有趣。我沒有想到這一點。我假設你也將'scaling.sendOriginal'設置爲'false'? –

回答

1

最簡單的解決方案是在此情況下單獨保留validation.sizeLimit option,並通過request.params option設置properly formatted content-length-range parameter。 Fine Uploader S3將在策略文檔中包含這些參數(如果使用策略文檔)。另一種選擇是維護兩個獨立的Fine Uploader實例。一個實例接受來自用戶的文件(不包括validation)。該實例還用於縮放圖像,然後通過addFiles API method將圖像傳遞到「主」Fine Uploader S3實例中。這個「主」實例有validation集合。

+0

我嘗試了'params:{conditions:[「content-length-range」,1024,1048576]}',並將其添加到策略文檔中:'{'x-amz-meta-conditions':'content-範圍%2C1024%2C1048576' },'。 Fineuploader是否可以使用完全由服務器端生成的策略文檔? – dtgq

+0

啊,是的,除非它在s3/util.js的'UNPREFIXED_PARAM_NAMES'數組中提到,否則它會添加x-amz-meta前綴。所以這可能需要添加到圖書館。拉請求可以解決這個問題。其他選擇是在我上面的答案中使用第二個選項。 –

+0

對不起,讓提出這個問題,我真的很喜歡一個明確的答案:是否可以手動設置與Fineuploader的政策文件(而不是在所有的選項填充和具有圖書館產生的政策文件)?能夠做到這一點將爲我解決一系列問題,並可能提高性能。 – dtgq