0

我有几个用html5. 当图像被解析并转换为数据(并在 中编码base64)时,我抓取该数据并通过 post 发送到 php 文件。

在 localhost 上,该base64字符串在 php 文件中被完美接收。但是,当我移动到服务器时,图像预处理和base64发送到服务器都工作(我读取了标题),但是当在 php 文件中时,该base64字符串不再存在。有什么我想念的吗?

一些额外的信息:

  • 我不对字符串进行 url 编码,因为如果不这样做,它会在本地工作,并且这样做服务器仍然无法获取base64数据。
  • 我还没有超过post_max_size8M在我的情况下,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,220bytes 的图片后,它上传正确。

4

2 回答 2

2

检查 Apache 请求大小限制:

http://httpd.apache.org/docs/2.2/mod/core.html#LimitRequestFieldSize

涉及到 HTTP 的所有内容的大小都有限制,因此,如果某些东西在这里而不是那里有效,请增加那里的大小。;)

于 2012-10-28T18:27:26.953 回答
0

您要将base64数据保存到文件中吗?如果是这样,可能该文件夹未标记为"WRITE",请检查。

您正在使用$_POST或正在使用本地主机中的全局变量。如果您使用全局更改为$_POST.

如果您使用的是 RAW,请使用如下变量: $_GLOBALS['HTTP_RAW_POST_DATA']

于 2012-10-26T17:15:11.700 回答