【问题标题】:java post and download filejava发布和下载文件
【发布时间】:2012-06-13 19:09:18
【问题描述】:

我们有一个表单,一旦提交,就会创建并返回一个文件。我创建了一个 java 方法来执行 post 并返回 ok 状态。但是,我如何在发布后下载文件?

很抱歉没有弄清楚它让我发疯。我们有一个业务对象,它根据发送给它的参数生成报告。在浏览器中填写表单后,会弹出(保存/打开)文件。我想做的是创建一个Java独立程序,它将位于我的桌面上,这样当我运行这个程序时(将我的姓名和密码以及要发布到的URL传递给它,这已经完成了)它将下载创建的文件在服务器端。问题是我不知道文件在服务器上的存储位置(如果存储)或文件的名称。我所知道的是,在浏览器上我们去表格填写它,文件返回到浏览器。到目前为止,该职位正在工作。

【问题讨论】:

  • Saned ,可能是 [this][1] 类似的线程将回答您的问题。 [1]:stackoverflow.com/questions/5085105/…
  • 请求同一个应用下载它?但是你已经有了文件,为什么还要下载你刚刚上传的文件?
  • @Dave,据我了解,该文件是在发布后在服务器端创建的。
  • Apache httpClient 有这个功能
  • @SanedMohamed,您需要提供更多详细信息——请编辑您的问题以准确描述您要完成的任务:从什么下载文件?一个客户端应用程序,发布它的内容是什么?从网络应用程序中流式传输文件?还是……?

标签: java http https


【解决方案1】:

当您在浏览器中的表单上时(例如http://localhost/my/form),您应该检查页面的来源(IE 是 Menu View > Source )。在源代码中,您应该搜索表单标签。此标记包含一个动作值,例如:

<form action="myaction.dhtml" method="...>

</form>

所以请求的 URL 是 http://localhost/myaction.dhtml 并且服务器响应将是一个“文件”。好的。

您可以发送与 Java 浏览器相同的请求。为了不再编码所有这些东西,您可以使用像 HttpComponents 这样的库。

可能您的表单也在向服务器发送参数(用户名、密码等)。查看表单组件服务器期望的参数。您的网址可能如下所示:

http://localhost/myaction.dhtml?name=Joe;pass=myPassWRD

您不必知道文件的存储位置,但您需要正确的 URL,服务器将使用该 URL 获取或生成正确的数据并发送到客户端。

【讨论】:

    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2016-11-05
    • 2019-12-15
    相关资源
    最近更新 更多