Ⅰ 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屬於文件,瀏覽器打不開的,你要設置瀏覽器屬性才能默認打開(以前設置過,忘記怎麼設置了,自己網路)