在 html 中标签,如何在打开文件对话框进行下载(另存为)之前调用servlet?

发布于 2024-08-29 07:54:36 字数 427 浏览 7 评论 0原文

我正在开发一个网络应用程序,我想向用户提供下载链接 - 这样他们就可以从我的服务器下载 zip 文件。 现在,我的要求是,我想在向用户显示“zip”文件的文件对话框之前执行 servlet 中包含的一些处理逻辑。

因此,如果我编写

<a href="abc.zip".......>

,它会打开一个文件对话框,要求用户选择可以保存该文件的位置

,但是如果我想要 servlet 的 doGet 方法进行一些预处理 - 比如构建 zip 文件,那么我如何首先调用servlet,然后打开文件对话框。

下面的代码片段会起作用吗?

 <a href="MyHandlerServlet;abc.zip".......>

感谢您的帮助 !!

I am developing a web-app where I want to provide a download link to users - so they can download a zip file from my server.
Now, my requirement is that I want to execute some processing logic contained in a servlet before displaying the file dialog to the user for 'zip' files.

So If I write

<a href="abc.zip".......>

then it opens a file dialog asking the user to select the location where this file can be saved

But if I want a servlet's doGet method to do some preprocessing - say like building the zip file , then how can I first call the servlet and then open the file dialog.

Will the following snippet work?

 <a href="MyHandlerServlet;abc.zip".......>

Thanks for your help !!

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

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

发布评论

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

评论(2

穿越时光隧道 2024-09-05 07:54:36

我宁愿将文件名作为路径信息而不是请求参数传递,例如

<a href="MyHandlerServlet/abc.zip">

,否则雷蒙德(咳嗽)团队开发的某个广泛使用的网络浏览器将在“另存为”期间使用 MyHandlerServlet 作为文件名>。当将文件名作为路径信息传递时,您可以通过以下方式在 servlet 中获取请求的文件:

String filename = request.getPathInfo();

您只需将 servlet 映射到 /MyHandlerServlet/* 而不是 /MyHandlerServlet 上。另请参阅此基本 Servlet 示例

I would rather pass the filename as pathinfo instead of request parameter, e.g.

<a href="MyHandlerServlet/abc.zip">

Otherwise a certain widely used webbrowser developed by a team in Redmond (cough) would use MyHandlerServlet as filename during Save As. When passing the filename as pathinfo, you can obtain the requested file in the servlet by:

String filename = request.getPathInfo();

You only need to map the servlet on /MyHandlerServlet/* instead of /MyHandlerServlet. Also see this basic servlet example.

晌融 2024-09-05 07:54:36
 <a href="MyHandlerServlet?file=abc.zip">

Servlet 需要使用 zip 文件响应请求。

 <a href="MyHandlerServlet?file=abc.zip">

The servlet would need to respond to the request with the zip file.

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