如何设置api(结构)从服务器下载文件

时间:2014-01-16 00:58:11

标签: java api bottle

所以我在java中创建一个从服务器下载文件的程序。 我有一个带有瓶子web框架的服务器。

现在我不确定我应该如何将数据从服务器传输到客户端。

以下是我想到的两个想法。

  1. 将我需要下载的文件作为静态文件下载到服务器上,然后使用java下载它。

  2. 向服务器发送一个帖子请求,回复部分数据,我必须遍历它,直到我有完整的文件。

  3. 1号将是最简单的,但我猜任何人都可以这样访问它,所以它可能不是最好的主意。

    你们对我应该如何构建它有什么建议吗?

3 个答案:

答案 0 :(得分:0)

假设您正在使用基于Servlet或Servlet的框架。

将文件内容写入响应,并使用文件名设置Content-Disposition: attachment; filename=yourfilename。如果需要,您可能还需要设置Content-Transfer-Encoding: binary标题。

答案 1 :(得分:0)

For 2. GET请求可以返回数据。使用GET比POST更合乎逻辑,因为POST用于上传文件。然后,您可以在响应中包含文件内容,其内容类型也设置为键入。

答案 2 :(得分:0)

可能会帮助你

from bottle import static_file    
@route('/download/<filename:path>')
def download(filename):
   return static_file(filename, root='/path/to/static/files', download=filename)