我正在使用this file uploader plugin,它使用javascript的FileReader API来读取文件并将它们作为base64字符串放入输入元素中。这些文件最多可达5mb,因此base64字符串可能会变得很长。
无论如何,起初一切似乎都正常工作:我可以选择一个文件并检查我隐藏的输入内容,并且base64字符串等于我在linux机器上使用base64命令可以获得的字符串:base64 file.pdf > file.b64
。
问题是,当我发布表单时,字符串在524261个字符后被截断,缺少最后50000个字符(或多或少)。这意味着该文件已损坏。
我已经尝试更改一些php设置(通过.htaccess文件),但它仍然无效,老实说我无法弄清楚问题是什么......
upload_max_filesize = 10M
post_max_size = 10M
答案 0 :(得分:0)
所以,问题实际上是chrome(我想其他一些浏览器也会遇到同样的问题)。我通过使用textarea而不是输入来解决它。由于我使用的fileUploader插件不支持textareas而不支持文件内容的输入,我可能会使用修复程序执行pull请求。谢谢gre_gor指出浏览器问题,谢谢大家的帮助。