Web简单文件下载

      最近开始做第一个项目,在做文件下载的方面遇到了一点问题,现在在这里分享一下。

  对于文件下载,我一开始的做法是读取了数据库中的需要下载的文件的相对于工程的相对路径后赋值给html代码的a标签的href属性,但是在测试的时候发现像txt、docx这类文本文档并不是提示下载,而是将相应的文件直接打开了,而由于编码的不同,就出现了满屏乱码这种情况,后来了解到是浏览器对这类简单的文件,它本身能够解析的文件类型都会直接打开显示,只有那些浏览器无法识别解析的文件类型才会提示用户下载,后来我的解决方法是写了一个下载的servlet类,代码如下:

 public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out;
        //接收参数,path表示当前文件相对项目根目录的相对路径
        String path = request.getParameter("path");
        //获取文件的绝对路径
        String filepath = request.getSession().getServletContext().getRealPath(path);
        File file = new File(filepath);
        //判断该文件是否存在
        if(!file.exists()) {
            out = response.getWriter();
            out.println("<script>alert(\"文件不存在!\");window.history.back()</script>");
            out.close();return;
        }
        response.addHeader("content-disposition", "attachment;filename=" + path);
        IOUtils.copy(new FileInputStream(file), response.getOutputStream());
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在LabVIEW中,可以使用Web浏览器控件和HTTP客户端功能来从Web下载文件。下面是一个简单的步骤来实现这一功能: 1. 首先,将Web浏览器控件拖放到LabVIEW的面板上。这个控件可以在Front Panel面板的"Web & Connectivity"选项卡中找到。 2. 在控件的属性设置中,指定要下载文件的URL。可以使用字符串输入控件来接收用户输入的URL,或者直接在控件的属性设置中指定一个URL。 3. 使用HTTP客户端VIs来执行下载操作。在LabVIEW项目中,可以在HTTP Client目录中找到这些VIs。 4. 使用HTTP打开连接VI打开到指定URL的连接。将Web浏览器控件的URL属性作为输入。 5. 使用HTTP获取方法VI发送HTTP GET请求。将HTTP打开连接VI的输出连接作为输入。获取方法将获取到的文件内容存储在一个临时文件中。 6. 将HTTP GET Response VI的输出传递给HTTP关闭连接 VI,以关闭与URL的连接。 7. 使用LabVIEW的文件I/O功能打开临时文件,并指定要保存下载文件的路径和文件名。 8. 使用文件I/O功能将临时文件中的内容写入到指定的文件中。 9. 最后,当下载完成后,可以通过在LabVIEW界面上显示一个提示框或者其他的提示方式来通知用户。 以上简单的步骤可以帮助你在LabVIEW中实现从Web下载文件的操作。当然,具体的实现可能涉及到更多的细节和错误处理。你可以根据具体的需求进行相应的修改和补充。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值