在向Mandrill API发送JSON对象时,我面临编码问题。在使用UTF8编码写入流写器时,会引发以下异常:
“要写入流的字节超过了指定的内容长度字节大小。”紧接着:“在写入所有字节之前无法关闭流。”
这是用于发送JSON对象的代码部分:
var httpWebRequest = (HttpWebRequest)WebRequest.Create(mandrillUrl + "/messages/send.json");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
var ser = new DataContractJsonSerializer(wrapper.GetType());
var ms = new MemoryStream();
ser.WriteObject(ms, wrapper);
var json = Encoding.UTF8.GetString(ms.ToArray());
httpWebRequest.ContentLength = json.Length;
var stream = httpWebRequest.GetRequestStream();
using (var strWriter = new StreamWriter(stream, Encoding.UTF8))
{
strWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
}
在我看来,这个错误与UTF8中的字节长度有关,但即使我将httpWebRequest加倍。ContentLength值我仍然会得到相同的错误。
必须以字节为单位指定内容长度,而不是
char
s
var json = Encoding.UTF8.GetString(ms.ToArray());
httpWebRequest.ContentLength = Encoding.UTF8.GetByteCount(json);
我的问题是,当我上传一个文件超过我在脚本中设置的限制(5 MB)时,它会在网站顶部显示此警告: 警告:第0行未知中32485176字节的POST内容长度超过了20971520字节的限制 例如,在这里,我上传了一个文件超过(30 MB),但当我上传一个文件超过(5 MB),小于30(或没有那么大)它不显示警告,只显示我想要的代码错误: 我正在localhost,这个错误每次都出现,我知道如何通过修改
问题内容: 用户在我的网站上上传图片时遇到了很多问题。 他们最多可以上传6张图片 最初,我不得不将php.ini中的值更改为: 我不得不更改为这个,因为出现了各种错误,例如内存不足,超出最大发布数等。 一切正常,直到我检查了包含以下内容的错误日志: 如果我将帖子的最大值改回前8M,则会收到如下消息: 有什么想法我要去哪里吗? 问题答案: 在某些32位系统上,PHP将采用类似或的内存设置,并且通过不
在我的XAMPP本地开发环境中尝试在WordPress上上载导入时,我遇到此错误: 警告:第0行中未知的帖子内容长度8978294字节超过8388608字节的限制 我将从更改为,但这似乎没有任何作用。 有什么想法吗?
问题内容: 我无法在上创建索引。 MySQL: 问题答案:
问题内容: 当我执行以下命令时: 我收到此错误消息: 有关column1和column2的信息: 我认为只需要21个字节,而只需要501个字节。因此,总字节数是522,少于767。那么为什么收到错误消息? 问题答案: 在MySQL版本5.6(及更早版本)中,InnoDB表的前缀限制为767个字节。MyISAM表的长度为1,000字节。在MySQL 5.7及更高版本中,此限制已增加到3072字节。
问题内容: 我已经将我的Elasticsearch集群从1.1升级到1.2,并且在索引一个较大的字符串时出现错误。 索引的映射: 我搜索了文档,但没有找到与最大字段大小有关的任何内容。根据核心类型部分,我不明白为什么要为某个字段“校正分析仪” 。 问题答案: 因此,您遇到了一个术语的最大大小问题。当您将一个字段设置为not_analyzed时,会将其视为一个术语。基本Lucene索引中单个术语的最