下载一个本地文件出现的小问题

之前做过下载文件的后台方法

/**
     * 下载附件
     */
    public void fjxxDown() throws IOException {
        String fjxxno = getPara("fjxxno");
        Record fjxx = LkglService.service.fjxxDown(fjxxno);
        byte[] fjnr = fjxx.get("fjnr");

        new ToolFileConsole().loadFileForByte(getResponse(),        //该类 附在文末尾
                String.valueOf(fjxx.get("fjmc")), "application/x-msdownload", fjnr);
    }

这里附件是从查出数据库的文件。

现在改 需求:需要下载一个本地文件(模仿上文)

后台代码;


private static String DOWNLOADPATH = "/files/aq/hj/jshjmb/jsmb.xlsx";  ()

/**
     * 下载附件
     */
    public void download() throws IOException {
         String realPath = super.getRealPath();
         String downloadPath = realPath + DOWNLOADPATH;
         File file = new File(downloadPath);

         System.out.println(file.exists());

         FileInputStream fis = new FileInputStream(file);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] b = new byte[1024];     //不能直接把这个数组放入最后一个参数,不然文件打不开
        int len;
        while ((len = fis.read(b)) != -1)
        {
            bos.write(b, 0, len);
        }
        fis.close();
        bos.close();
        byte[] buffer = bos.toByteArray();

         new ToolFileConsole().loadFileForByte(getResponse(),
                String.valueOf("家属会见信息模板文件.xlsx"), "application/x-msdownload", buffer);   //String.valueOf("家属会见信息模板文件.xlsx")似乎没发挥用处
      renderNull(); }

注意:

new ToolFileConsole().loadFileForByte方法最后一个参数是 byte数组

我们采取
 ByteArrayOutputStream bos 读出文件。
然后再 byte[] buffer = bos.toByteArray();  转为byte数组格式。放入最后一个参数位置。

原文地址:https://www.cnblogs.com/yizhizhangBlog/p/9831563.html

时间: 2024-10-30 21:27:35

下载一个本地文件出现的小问题的相关文章

scrapy框架来爬取壁纸网站并将图片下载到本地文件中

首先需要确定要爬取的内容,所以第一步就应该是要确定要爬的字段: 首先去items中确定要爬的内容 class MeizhuoItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() # 图集的标题 title = scrapy.Field() # 图片的url,需要来进行图片的抓取 url = scrapy.Field() pass 在确定完要爬的字段之后,就是分析网站页面的请求

用java打开一个本地文件

以下有三种方式打开 /** * 借助java.awt.Desktop打开 * @see 打开的目录或文件名中允许包含空格 */ private static void useAWTDesktop() throws IOException{ Desktop.getDesktop().open(new File("D:/my local/测试用例.xls")); } /** * 借助cmd命令打开 * @see WPS文字--------Runtime.getRuntime().exec(

如何下载远程dll文件,并且执行不被360报毒

当然,说的是没有数字签名的情况,如果有数字签名一切都好说. 正常情况下载一个dll到本地,执行肯定会被360报毒的. 我的方法,主要有以下几点: 1 文件一定要加密,哪怕是只有抑或一下简单的加密. 2 要手动加载dll,不要用系统的LoadLibrary. 这样360就认为你只是下载一个普通文件,不会报毒啦,一个小例子,放在百度网盘了 pan.baidu.com/s/1ntH0IrJ 需要的代码很简单,手动加载dll百度有很多例子,实在需要代码请加微信公众号,私信我. 欢迎关注 windows驱

利用git上传本地文件、文件夹到Github

 利用git上传文件至github是特别常用的,总结以下内容供参考使用. 第一步:下载git工具,[这里是链接](https://git-scm.com/downloads),选择适合自己的版本进行安装. 第二步:安装完成后,找到Git bash,双击打开. 第三步:输入自己的用户名和邮箱(为注册GITHUB账号时的用户名和邮箱) $ git config --global user.name "[email protected]" $ git config --global user

详细解释 使用FileReference类加载和保存本地文件

一般而言,用户不希望web浏览器中运行的应用程序访问电脑硬盘里的文件.然而,随着基于浏览器(browser-based)的富因特网应用程序的增多,一些应用程序迫切需要访问用户所选择的文件,或者将文件保存到用户所选择的位置.支持FileReference类的Adobe Flash Player版本允许ActionScript应用程序将用户所选择的文件上传到服务器,或者从服务器下载文件到用户所选择的位置.然而,在Flash Player 10之前的版本中,除非您先将数据传送到服务器,否则无法在应用程

浅谈本地文件包含利用

今天在公众号看到了一个本地文件包含的利用工具,看了下国外大牛对该工具的使用的一个视频,感觉很厉害,通过该工具可对存在本地文件包含漏洞的站点进行利用并返回一个LFI shell,通过返回的LFI shell再次获取一个反向连接,从而可执行相关命令,以前对本地文件包含的利用大多都停留在读取文件,如果有远程文件包含的话就可以getshell.这篇文章主要是对本地文件包含的一个简单介绍及利用,主要是对工具的使用,也主要是记录下该过程,方便以后查看,然后再抽时间研究下大神源代码!大神请绕道而行!: ) 0

用SVN在github下下载一个文件夹到本地

我用的TortoiserSVN,安装什么的都很简单啦. 首先在本地创建一个文件夹为了存放你下载下来的那个文件夹. 右键点击这个新建文件夹,装了小乌龟(TortoiserSVN)的话就会有SVN Checkout..这个选项,点击它,不要犹豫. 假设你要下载到本地的github上的url路径是 https://github.com/reactjs/react-router/tree/master/demo 在弹出的checkout对话框的URL of repository这个选项中将你的url路径

爪哇国新游记之二十八----从url指定的地址下载一个文件到本地

package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPInputStream; /** * 从url指定的地址下载一个文件到本地 * 2014

大开测试:性能- 如何下载并保存文件到本地(连载18)

7.18  如何下载并保存文件到本地 1.问题提出 如何下载并保存文件到本地? 2.问题解答 一个人事管理系统项目一般都要实现能够上传和下载电子文件(如学位照.身份证.护照或者其他Word.Excel.Pdf等格式的电子文件),测试时为了模拟下载的场景,需要编写相关脚本.在HTTP中,没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP来说,无论是下载文件或者请求页面,都只是发出一个GET请求,LoadRunner记录了客户端发出的对文件的请求,并能够收到文件内容.因此,完全可以通过