Json文件请求产生“(413)请求实体太大”。

时间:2016-12-09 17:31:33

标签: c# .net json webserver powerbi

我有一个超过10,000行的json文件

所以当我向Power BI请求时

我会收到一条错误消息

(413) Request Entity Too Large。

如果Json文件<这段代码可以使用10,000行

所以如何解决关于行太麻烦的问题

这是我的代码

string ColumnValuesJson = System.IO.File.ReadAllText(@"PowerBI_Column_Values.json");

//POST web request
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(ColumnValuesJson);

request.ContentLength = byteArray.Length;

Console.WriteLine(byteArray.Length);
Console.ReadLine();
//
using (Stream writer = request.GetRequestStream())
{
    writer.Write(byteArray, 0, byteArray.Length);
    var response = (HttpWebResponse)request.GetResponse();

    /*Time*/
    ProcessTime.Stop();
    Console.WriteLine("20,000 Rows  {0} ms", ProcessTime.ElapsedMilliseconds);
    Console.ReadLine();
}

1 个答案:

答案 0 :(得分:4)

当请求正文大于服务器配置为允许时,会发生

413错误。以下是如何修复它,具体取决于您的Web服务器(如果您有权访问它):

如果您不是服务器的所有者,则可以尝试上传较小的压缩文件或使用multipart/form-data Content-Type发送请求。 Here是如何做到的一些例子。

正如评论中所述,您想在AddRows上调用Power BI REST API方法。在limitations中提到每个请求只能添加10'000行。最简单的方法是将json文件解析为数组并发送多个请求。要在c#中解析JSON,您可以查看this article