如何解决使用upload_module和multipart / form的nginx可恢复上传
|| 我目前正在使用自定义桌面应用程序中的上传模块(http://www.grid.net.ru/nginx/upload.en.html)将其上传到Nginx服务器上的Web服务,该应用程序执行简单的多部分形式POST,该POST发送文件的一部分,而base64编码的XML以及文件的元数据的另一部分。 服务器收到此POST,并将其传递到我的Web服务,该服务将读取元数据,处理文件,一切都很好。 我现在想做的是使用上载模块的upload_resumable指令分几步进行POST,以最大程度地减少断开连接的机会并允许恢复。我目前可以按照此处描述的协议进行操作:http://www.grid.net.ru/nginx/resumable_uploads.en.html 一个会发送文件的字节范围以及一些标头,以在几篇文章中标识块和会话,一旦所有部分都上传完毕,nginx就会组成最后一个包含文件名和路径的POST,并将其传递到您的upload_pass位置(在我的情况下,将CGI转换为Django应用)。 但是,由于协议表明POST的主体必须是字节范围内指示的字节,因此我不清楚如何使用这种方法发送多部分的帖子。我需要最后的帖子也包含我上面写过的XML。 我可以考虑将XML发送为正文的第一个字节,并发送一个标头,该标头指示它属于多少个字节,但这意味着要对最终文件进行额外的处理以删除该标头,并且最终文件的大小可能在GB范围内。 还有其他想法吗?解决方法
由于nginx支持的协议特别指出帖子不应是多部分的,因此我最终在正文中发送文件,并将其余参数编码为URL。不是最漂亮的URL,但它可以工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。