2016-05-30 109 views
2

我使用的是this file uploader plugin,它使用javascript的FileReader API讀取文件並將它們作爲base64字符串放入輸入元素中。這些文件可能高達5MB,所以base64字符串可能會變得很長。輸入字段中的base64字符串被截斷

無論如何,起初一切似乎都正常:我可以選擇一個文件並檢查隱藏的輸入內容,並且base64字符串等於我在Linux機器上使用base64命令所能獲得的內容:base64 file.pdf > file.b64

問題是,當我發佈表單時,字符串在524261個字符後被截斷,缺少最後的50000個字符(或多或少)。這意味着該文件已損壞。

我試圖改變一些PHP設置(通過.htaccess文件),但它仍然沒有工作,而且老實說,我無法弄清楚這個問題可能是什麼?

upload_max_filesize = 10M 
post_max_size = 10M 
+0

在你的php.ini文件中設置了什麼'memory_limit'? (你可以用一個簡單的php文件檢查這個文件,該文件包含:'<?php phpinfo();?>') – icecub

+0

在你的虛擬主機配置文件中添加'AllowOverride Options',然後重新加載Apache。 – Mike

+1

也許相關http://stackoverflow.com/q/1752768/794749 –

回答

0

所以,問題其實是鉻(我想其他一些瀏覽器也可能有同樣的問題)。我已經通過使用textarea而不是輸入來解決它。由於我使用的fileUploader插件不支持textareas而不是文件內容的輸入,因此我可能會使用該修補程序執行pull請求。謝謝gre_gor指出瀏覽器問題,謝謝大家的幫助。