java - HttpPost 无法在生产服务器上运行
问题描述
我有一个使用 Java 构建的后端应用程序,有时需要将一些 base64 格式的文件发布到另一台服务器。在开发环境中一切正常,但在投入生产时,请求似乎被卡住了。这是我用于发布数据的代码:
JsonObject tmpObj = new JsonObject();
tmpObj.add("fileId", examFileName);
tmpObj.add("username", username);
tmpObj.add("password", password);
tmpObj.add("fileList", mediaFiles.toString());
StringEntity entity = new StringEntity(tmpObj.toString());
httpPost.setEntity(entity);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
CloseableHttpResponse response = client.execute(httpPost);
在开发环境中,对于我发布的任何文件,请求都是成功的,而不取决于它的大小。只有当文件的 base64 表示具有很大的大小(超过 10MB 或类似的东西)时,才会在生产服务器中发生此问题。我打破的发布请求是否有任何大小限制?提前致谢。
解决方案
接受帖子的服务器通常对接受帖子的大小有限制。默认情况下,10MB 是此限制的常用值。您的开发环境中的服务器很可能接受比生产环境中的服务器更大的帖子。
推荐阅读
- apache-pig - APACHE PIG - 模式中不存在错误投影字段 [Units_Sold]:组:chararray,D2:bag{:tuple(Item_Type:chararray,Units_Sold:int)}
- javascript - react.js中登录后重定向设置为true
- arrays - 将数组转换为哈希数组(Ruby)
- java - 使用 Firebase 时出现 SunCertPathBuilderException
- c# - LINQ中字符串字段的IN sql运算符的替代方法是什么?
- c# - 服务执行期间的ServiceStack操作顺序问题
- java - 如何将列表中的项目复制到另一个活动的列表中?
- javascript - 如何将文字参数传递给包含的js?
- c# - 流对象列表作为来自 API 的文件
- java - 无法摆脱错误:意外隐式转换为“TextInputLayout”:布局标记为“EditText”