Javascript 过帐大字符串时出现错误413
我试图使用API上传图像,并在服务器端使用PHP将数据URL从Javascript 过帐大字符串时出现错误413,javascript,php,.htaccess,http-status-code-413,Javascript,Php,.htaccess,Http Status Code 413,我试图使用API上传图像,并在服务器端使用PHP将数据URL从FileReader.readAsDataURL()方法写入文件 该方法适用于较小的图像(不确定具体有多小,但
FileReader.readAsDataURL()
方法写入文件
该方法适用于较小的图像(不确定具体有多小,但<1MB可能相当准确)。然而,当上传更大的图片时,我得到一个413请求实体太大的错误。我看到并尝试了这两种解决方案,但是第一种解决方案什么也没做,第二种解决方案出现了500个错误。当我查看错误日志时,它说:
/home/username/public_html/.htaccess: LimitRequestFieldsize not allowed here
为什么这不起作用
php.ini
file_uploads = On
post_max_size = 50M
upload_max_filesize = 50M
.htaccess
RewriteEngine On
# LimitRequestFieldSize 2097152
SSLRenegBufferSize 1000000
JS
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$.ajax({
url: "?action=saveImg",
type: "POST",
dataType: "json",
data: {
image: e.target.result,
id: id
},
success: function(data){
$.dialog(data.message, data.title);
}
});
}
for(var i = 0; i < input.files.length; i++){
reader.readAsDataURL(input.files[i]);
}
}
}
$("#file").change(function() {
readURL(this);
});
我如何才能做到这一点?这是一个apache配置问题
除了LimitRequestFieldsize
之外,还有许多可能导致此问题的原因
首先,LimitRequestFieldsize通常必须在.conf
文件中设置,而不是在.htaccess
中设置。此外,增加限制会带来重大的安全影响。(loris缓慢攻击一次)
(如果您使用的是mod_security)
还必须在.conf
文件中设置。也有安全方面的影响
SecRequestBodyLimit 10485760
你的问题属于你确定你读到了正确的错误行吗?非常确定。还可能是什么?我想知道
LimitRequestFieldsize
指令是否与413请求实体太大的错误有关。。。。很明显,它是记录的,因为您直接在.htaccess文件中使用了指令,而您不应该这样做。我看到的答案似乎认为LimitRequestFieldsize
与此有关,我还应该在哪里使用该指令?我在godaddy共享服务器上。
SecRequestBodyLimit 10485760