以下是用于发送文件的HttpServletResponse标头和内容类型。最多32MB的数据传递给客户端,但我的整个数据大小为100MB。
response.setContentType("application/octet-stream");
response.setHeader("Transfer-Encoding", "chunked");
response.setHeader("Content-Disposition", "attachment; filename="filename.bin");
我无法将此数据存储到云存储中,因为这将根据用户创建。
这可以通过HttpServletResponse实现吗?或者我需要转向其他方法,比如套接字等。
请为多客户端环境推荐一种方法。
答案 0 :(得分:1)
App Engine具有配额,旨在保护每个人免受失控的应用程序的侵害。应用程序在单个入站HTTP请求中可以接收的最大数据量为32MB。
如果您想上传较大的文件,请查看Blobstore API。
有关详细信息,请参阅quota documentation。
答案 1 :(得分:1)
你无法绕过32mb的限制请求。最好的办法是将数据推送到GCS,并生成signed URL。
根据生成100mb文件需要执行的操作,您可能需要使用任务队列卸载整个过程以防止请求超时。