打开远程文件

    技术2022-05-13  21

    后台实现

    public synchronized String openText() throws IOException{  InputStream inputStream = null;  OutputStream outputStream = null;  try {    URL url=new URL(storePath);//此处是通过http访问的url,如果是打开本地的文件则换成 File  file = new File("D:/test.txt");    inputStream = url.openStream();     HttpServletResponse response = ServletActionContext.getResponse();//生成response对象    response.setContentType("application/download");    response.setCharacterEncoding("UTF-8");    String fileName = url.getFile();    fileName = URLEncoder.encode(fileName,"UTF-8");//防止中文乱码    response.setHeader("Content-disposition", "attachment; filename="      + new String(fileName.getBytes()));//添加下载文件名称       outputStream = response.getOutputStream();    int i = 0;    byte buffer[] = new byte[1024];    while ((i=inputStream.read(buffer))!=-1) {       outputStream.write(buffer,0,i);    }    outputStream.flush();  } catch (Exception e) {   e.printStackTrace();  }finally {   if(outputStream != null && inputStream != null){    outputStream.close();    inputStream.close();   }  }  return null; }

     

    实现的原理:读取流输出到本地页面,返回值为null就会弹出如下页面


    最新回复(0)