通过多部分表单数据上传时如何知道文件大小?

发布于 2024-11-05 19:05:38 字数 197 浏览 1 评论 0原文

我正在使用 HTML 客户端练习一个简单的应用程序,该应用程序将文件上传到服务器并且必须显示进度条:)

服务器是基于 servlet 的,某些 servlet 接收多部分内容,解析它等。显然,我每时每刻都知道到目前为止收到的字节数。然而,为了提供客户端进度条的信息,Servlet 还需要正在上传的文件的总字节数。知道从哪里获取总字节数吗?

谢谢!

I am exercising a simple application with HTML client that uploads a file to the server and must display a progress bar :)

The server is servlet-based, some servlet receives the multipart content, parses it etc. Obviously, at every moment I know the number of bytes received so far. However in order to supply an info for the progress bar on the client side a servlet also needs the total number of bytes for the file, which is being uploaded. Any idea where to get the total number of bytes from please?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

糖粟与秋泊 2024-11-12 19:05:38

我认为你必须在客户端用 javascript 实现进度条。

无论如何,此链接< /a> 解释了如何使用 JQuery 执行此操作。


服务器可以从HTTP请求头获取正在上传的multipart的大小;请参阅@ilya 的回答。然而,获取该信息和到目前为止读取的字节数到显示或更新进度条的 HTTP 响应流中将相当复杂......

I think you have to implement the progress bar in javascript on the client side.

Anyway, this link gives an explanation of how to do it using JQuery.


The server can obtain the size of the multipart being uploaded from the HTTP request header; see @ilya's answer. However, getting that information and the count(s) of bytes read so far into a stream of HTTP responses that display or update a progress bar would be rather complicated ...

累赘 2024-11-12 19:05:38

内容的大小放置在 Content-Length 标头中(请参阅 rfc2616)。在 Servlet 中,您可以通过 request.getContentLength()reqest.getHeaders("Content-Length") 获取此标头的值

Size of content are placed in Content-Length header (see rfc2616). In Servlet you can get this header's value by request.getContentLength() or reqest.getHeaders("Content-Length")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文