我有几个用 html5
制作的图像放置位置。当图像被解析并转换为数据(并以 base64
编码)时,我抓取该数据并通过 post 发送到 php 文件。
在本地主机上,base64
字符串在 php 文件中被完美接收。但是,当我移动到服务器时,图像预处理和发送到服务器的 base64
都可以工作(我读取 header ),但是当在 php 文件中时,该 base64
字符串已经不存在了。我有什么遗漏的吗?
一些额外信息:
- 我不对字符串进行 URL 编码,因为如果不这样做,它就可以在本地工作,并且服务器仍然无法获取
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
足够大。
突发新闻 2
上传相反的38x38、220字节的图片后,正确上传。
最佳答案
检查 Apache 请求大小限制:
http://httpd.apache.org/docs/2.2/mod/core.html#LimitRequestFieldSize
涉及 HTTP 的所有内容的大小都有限制,因此,如果某些内容在这里工作而在那里不工作,请增加那里的大小。 ;)
关于php - Base64 编码的图像未通过 POST 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13091355/