导航:首页 > 编程语言 > javaie下载文件

javaie下载文件

发布时间:2022-06-01 05:12:04

java下载文件,怎么指定下载到指定的文件夹下啊,就是不弹出保存框,直接下载到指定的文件夹下,谢谢回答

如果是用 IE 等浏览器下载,这些浏览器都有自己的下载目录定义。

如果是你自己用 Java 写了一个浏览器,则在接收到下载流时,用 FileOutputStream fos = new FileOutputStream("d:\\java-browser\\downloads"); 即可。

Ⅱ javaweb jsp页面上点击链接下载文件 IE浏览器弹出“已经阻止从站点下载文件到您的计算机”

因为局域网有防火墙保护,所以会阻止你下载,如果你能将你的网址设置为合法网址,则IE不会阻挡。

Ⅲ 在java代码中当查看上传的文档时,用ie浏览器点击打开时需要下载,用搜狗浏览器则可以直接在该页面显示

搜狗包装了一下IE,里面加入了比较多的内容,当你浏览上传的文件时,搜狗会自动在网页中调用处理本文件的程序,将结果显示在网页中,IE可能是插件不齐全,调用不了处理本文件的程序,所以就提示你要把这个文件下载下了,有你自己处理,不知道你上传的是什么文件

Ⅳ java 下载Excel文件被IE阻止,怎么解决

通过文件路径下载,不能用方式,
无论是通过js的window.location.href='';还是到后台通过流方式输出,都被IE阻止;
问题补充:anyasir 写道超链接可以下载的啊。。不知道你具体的情况怎么样。。不好说。。。如果用超链接怎么触发呢?我是先上传一个excel文件,然后处理保存,再跳到更新页面同时发出提示信息,接着把excel文件导出给用户,这些都是要一次过执行,客户只有上传excel文件一个操作,接下来就是由程序操作,直到excel导出完 问题补充:anyasir 写道response.setContentType("application/octet-stream;");
这样来设置试试暂时不清楚这个设置是否可行,我对其他类型设置了几个都没成功,全部被拦截了 问题补充:anyasir 写道file是你上传的那个文件。。。你先拿到这个文件,然后用输出流写出来我也用流写过出来,可是都被拦截了

Ⅳ java文件下载遇到史无前例的问题

你考虑多线程并发连接的问题了么……直接用流写的下载默认是单线程的,没用过360下载,但是迅雷的下载默认是5个线程,推出360下载可能是双线程的,估计问题出在这里了。

Ⅵ 怎样通过java实现服务器上文件下载

用HttpClient(commons httpclient)包,模拟一个Get请求,发送到网址172.16.30.230/文件地址。这个文件地址不能是E/Map/123.txt,必须是暴露在服务器中的应用里的。就像你写的应用里的一个jsp页面的目录。
成功发送get请求后,就会得到response,里面有流。就是你下载的文件,然后可以通过FileOutputStream,指定你输出目录,写到磁盘上。

Ⅶ JavaWeb下载文件,怎么获取文件下载完毕的状态

在Javaweb中,上传下载是经常用到的功能,对于文件上传,浏览器在上传的过程中是以流的过程将文件传给服务器,一般都是使用commons-fileupload这个包实现上传功能,因为commons-fileupload依赖于commons-io这个包,所以需要下载这两个包commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar。

1、搭建环境

创建Web项目,将包导入到项目lib下

3、实现文件下载

(第一种文件下载)

注意:该代码是直接访问Servlet类的

?

04142package com.load;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//直接使用Http://localhost:8080/Test1/download进行下载,但是这个有缺陷,如果下载文件名中有中文,就会变成乱码现象!@WebServlet("/download")public class download extends HttpServlet {private static final long serialVersionUID = 1L;public download() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/plain;charset=utf-8");response.setCharacterEncoding("utf-8");response.setHeader("Location","中文.txt");response.setHeader("Content-Disposition", "attachment; filename=" + "账号.txt");OutputStream outputStream = response.getOutputStream();InputStream inputStream = new FileInputStream("E:/loads"+"/账号.txt");byte[] buffer = new byte[1024];int i = -1;while ((i = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, i);}outputStream.flush();outputStream.close();}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

(第二种下载方法)

新建jsp页面选择下载

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>下载</title></head><body><a href="../DoDownloadServlet?filename=呵呵.txt">点击下载</a></body></html>

创建Servlet类进行下载(注意:该下载如果文件名是中文的话,一样会出现乱码现象)

package com.load;

import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspFactory;import javax.servlet.jsp.PageContext;import org.hsqldb.lib.StringUtil;import com.jspsmart.upload.SmartUpload;import com.jspsmart.upload.SmartUploadException;@WebServlet("/DoDownloadServlet")public class DoDownloadServlet extends HttpServlet {private static final long serialVersionUID = 1L;public DoDownloadServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//得到下载文件的名称//String filename = request.getParameter("filename");//String filename = new String(FileName.getBytes("iso8859-1"),"UTF-8");//新建SmartUpload对象SmartUpload su = new SmartUpload();PageContext pagecontext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);//上传初始化su.initialize(pagecontext);//设置禁止打开该文件su.setContentDisposition(null);//下载文件try {su.downloadFile("/listener/"+filename);} catch (SmartUploadException e) {// TODO Auto-generated catch blocke.printStackTrace();}}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

(第三种下载的方法)

同上的jsp页面代码,这里就不再重复了。

新建Serlvet类,实现下载功能(注意:这里文件名就算是中文名,也不会出现乱码问题了!)

package com.load;

import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspFactory;import javax.servlet.jsp.PageContext;import org.hsqldb.lib.StringUtil;import com.jspsmart.upload.SmartUpload;import com.jspsmart.upload.SmartUploadException;@WebServlet("/DoDownloadServlet")public class DoDownloadServlet extends HttpServlet {private static final long serialVersionUID = 1L;public DoDownloadServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获得文件名称String path1 = request.getParameter("filename");//获得路径名称String path = request.getSession().getServletContext().getRealPath("/listener/"+path1);// path是根据日志路径和文件名拼接出来的File file = new File(path);String filename = file.getName();try {//判断是否是IE11Boolean flag= request.getHeader("User-Agent").indexOf("like Gecko")>0;//IE11 User-Agent字符串:Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko//IE6~IE10版本的User-Agent字符串:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.0; Trident/6.0)if (request.getHeader("User-Agent").toLowerCase().indexOf("msie") >0||flag){filename = URLEncoder.encode(filename, "UTF-8");//IE浏览器}else {//先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,//这个文件名称用于浏览器的下载框中自动显示的文件名filename = new String(filename.replaceAll(" ", "").getBytes("UTF-8"), "ISO8859-1");//firefox浏览器//firefox浏览器User-Agent字符串://Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0} InputStream fis = new BufferedInputStream(new FileInputStream(path));byte[] buffer;buffer = new byte[fis.available()];fis.read(buffer);fis.close();response.reset();response.addHeader("Content-Disposition", "attachment;filename=" +filename);response.addHeader("Content-Length", "" + file.length());OutputStream os = response.getOutputStream();response.setContentType("application/octet-stream");os.write(buffer);// 输出文件os.flush();os.close();} catch (IOException e) {e.printStackTrace();}System.out.println(filename);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

Ⅷ java 实现文件批量上传下载实现方法 以及优势缺点

File file = new File(path);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String tempString = null;
StringBuffer buffer = new StringBuffer();
while ((tempString = reader.readLine()) != null) {
buffer.append(tempString);
}
reader.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {

}
}
}
return null;

Ⅸ Java下载问题,怎样让IE下载该文件,而不是打开该文件

//·设置响应消息头,告诉浏览器当前响应是一个下载文件
response.setContentType( "application/x-msdownload");
//考虑到文件名中可能包含非ASCII码字符,所以应该进行编码后再传输
fileName = URLEncoder. encode(fileName, "UTF-8");
//告诉浏览器,当前响应数据要求用户干预保存到文件中,以及文件名是什么
response.setHeader( "Content-Disposition", "attachment;filename=" +fileName);

Ⅹ java 关于浏览器下载文件

浏览器默认可以打开图片和文本。word和excel属于文件,浏览器打不开的,你要设置浏览器属性才能默认打开(以前设置过,忘记怎么设置了,自己网络)

阅读全文

与javaie下载文件相关的资料

热点内容
我的世界本地服务器默认地址 浏览:131
我的世设置命令方块会闪退 浏览:968
加密媒体怎么输密码 浏览:161
方舟如何删除服务器数据 浏览:600
用阅读app怎么看18 浏览:689
gn文件编译 浏览:783
酷闪加密系统 浏览:820
区块链数据加密 浏览:389
3d命令集 浏览:289
单片机的智能产品工厂里有 浏览:300
事业单位程序员有必要去吗 浏览:583
人工智能训练小鸟python 浏览:132
怎样把两个pdf合并成一个 浏览:681
什么app带仿制图章 浏览:420
单片机CJNE什么意思 浏览:569
廊坊服务器是什么 浏览:763
客户解压要打欠条还是收据 浏览:774
通过app组件启动有什么坏处 浏览:777
不属于国产密码算法 浏览:863
单片机LED显示字库 浏览:355