播放2 - 在BodyParser解析期间,在请求中停止文件上传

时间:2014-05-10 21:25:24

标签: javascript jquery scala playframework-2.0 netty

我正在开发一个Play 2 webapp,我让客户端使用play.api.libs.iteratee._和自定义BodyParser上传任意大文件并使服务器按块进行操作,甚至在上传完成之前第

我想要做的是让服务器在上传时“中断”或“中止”上传,这样浏览器就不会传输整个文件。

我最初认为将BodyParser的{​​{1}}置于Iteratee状态可以解决这个问题,但是当我这样做时,上传仍在继续,这些块就被丢弃了。在参与该过程的Error中抛出异常也不会停止上传。

我能想到应该工作的唯一解决方案是通过Ajax上传文件并与客户端的浏览器打开单独的连接(例如WebSocket)。当服务器决定终止文件上传时,它会将特殊命令推送到浏览器,客户端javascript将abort the upload

我的问题是有没有一种方法可以直接从Play应用程序终止上传,而无需将其委托给浏览器的javascript?

0 个答案:

没有答案