我有几个使用html5
制作的图像放置位置。当图像被解析并转换为数据(并在base64
中编码)时,我抓取该数据并通过post发送到php文件。
在localhost上,在php文件中完全接收到base64
字符串。但是,当我移动到服务器时,图像预处理和base64
发送到服务器工作(我读取标题),但是当在php文件中时,base64
字符串不再存在。有什么我想念的吗?
一些额外信息:
base64
数据。post_max_size
(8M
,但base64
字符串加上50kb
的其他数据权重我尝试上传600kb的数据。现在服务器提示:
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/altmail/admin/calls/ajax.previewnewsletter.php<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
</body></html>
同样,post_max_size
足够大了。
上传相反的38x38,220bytes图片后,它正确上传。
答案 0 :(得分:2)
检查Apache请求大小限制:
http://httpd.apache.org/docs/2.2/mod/core.html#LimitRequestFieldSize
HTTP的所有内容都有限制,所以如果有什么东西在这里工作而不是那里,那就增加它的大小。 ;)
答案 1 :(得分:0)
您是否将 base64 数据保存到文件中?如果是这样,文件夹可能没有标记为“WRITE”,请检查。
您正在使用$_POST
或在Localhost中使用全局变量。
如果您使用全局更改为$_POST
。
如果您使用的是RAW,请使用如下变量:
$_GLOBALS['HTTP_RAW_POST_DATA']