A. java下載多個文件瀏覽器彈出多個下載框
swing只會在伺服器中彈出多用於桌面程序如果用在web中則在頁面點擊時選擇框在伺服器彈出 java 導出文件彈出下載框讓用戶選擇路徑 實現導出文件...
B. java 關於瀏覽器下載文件
瀏覽器默認可以打開圖片和文本。word和excel屬於文件,瀏覽器打不開的,你要設置瀏覽器屬性才能默認打開(以前設置過,忘記怎麼設置了,自己網路)
C. Java瀏覽器文件下載問題
procere htmlHeadDown(const fName: widestring = ''; const ftype:String='unknow');
var mtype:String;
begin
bHead := true;
if ftype='' then mtype:=getMineType(fname) Else mtype:=ftype;
if TntSysUtils.WideTextPos('MSIE', EnvW('HTTP_USER_AGENT') )>0 Then Begin
writeLn('content-disposition:attachment; filename=' + UrlEncode(fname, false));
writeLn('content-type:Application/'+mtype+'; charset:utf-8');
writeLn('');
End Else Begin
writeLn('content-disposition:attachment; filename*="utf8''''' + Utf8Encode(fname)+'"');
writeLn('content-type:Application/'+mtype+'; charset:utf-8');
writeLn('');
end;
end;
請參考,應該能看得懂意思的。
D. 為什麼我用UC瀏覽器下載文件明明是java文件但下載後總是格式不支持,我把「-」改成「.」了啊。
您好,給您帶來不便很抱歉,您可以直接進入UC官網wap.uc.cn下載,系統會自動為您的機型匹配版本的,請您放心。如果有任何問題可以到我們的新浪微博 反饋,@UC瀏覽器-客服精靈即可哦~~祝您生活愉快。
E. java 下載文件時,當瀏覽器彈出下載對話框,後面的代碼不能執行該怎麼解決....
你現在這么直接執行可能是在頁面沒有返回的super.writeJson(json);信息你就認為不執行了,你先進行調試一下 ,看看到哪步卡住了。我懷疑很可能是super.writeJson(json);這個用的哪裡不對可能沒返回給頁面信息。你可以在這個上一步進行一下列印隨意信息看看能不能到這塊。確定一下是哪步停住了,然後針對的再找問題。
F. JAVA實現文件下載,瀏覽器端得到數據沒反應
int length = b.length;
response.setContentType("application/vnd.ms-excel");//文件格式,此處設置為excel
response.setHeader("Content-Disposition",
"attachment;filename=文件.xls");//此處需要設置下載文件的默認名稱
response.setContentLength(length);
java.io.OutputStream o = response.getOutputStream();
o.write(reportContent, 0, length);
o.flush();
out.clear();
out = pageContext.pushBody();
response.flushBuffer();
G. Java實現文件流下載文件,瀏覽器無反應,後台無錯誤!如何解決
//response.reset(); response.setCharacterEncoding("UTF-8"); response.setContentType("application/octet-stream");//APPLICATION/OCTET-STREAM response.addHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); //response.setContentLength((int)text.length()); byte[] b=new byte[100]; java.io.OutputStream os=null; java.io.InputStream is=null; try{ is=new java.io.ByteArrayInputStream(text.getBytes()); os=response.getOutputStream(); int len=0; while((len=is.read(b))>0){ os.write(b,0,len); } response.setStatus( response.SC_OK ); //response.flushBuffer(); //os.flush(); //os.close(); is.close(); }catch(IOException e){ //response.reset(); e.printStackTrace(); } fileName的值是一個文件名,如:李四.csv 警告: Parameters: Invalid chunk ignored. Invalid chunk starting at byte [0] and ending at byte [0] with a value of [null] ignored 問題補充: //response.reset(); response.setCharacterEncoding("UTF-8"); response.setContentType("application/octet-stream");//APPLICATION/OCTET-STREAM response.addHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); //response.setContentLength((int)text.length()); byte[] b=new byte[100]; java.io.OutputStream os=null; java.io.InputStream is=null; try{ is=new java.io.ByteArrayInputStream(text.getBytes()); os=response.getOutputStream(); int len=0; while((len=is.read(b))>0){ os.write(b,0,len); } response.setStatus( response.SC_OK ); //response.flushBuffer(); //os.flush(); //os.close(); is.close(); }catch(IOException e){ //response.reset(); e.printStackTrace(); } fileName的值是一個文件名,如:李四.csv 警告: Parameters: Invalid chunk ignored. Invalid chunk starting at byte [0] and ending at byte [0] with a value of [null] ignored 問題補充:大同小異啊,也沒有看見關鍵性的差異。不同的地方我都試過了,還是無法解決! OpenMind 寫道我有一段下載的代碼,和你的有幾個地方不一樣,你自己看著修改一下吧: File file = new File(savePath + attachment.getPath()); /* 如果文件存在 */ if (file.exists()) { String disName = URLEncoder.encode( attachment.getDisplayName(), "UTF-8"); response.reset(); response.setContentType("application/x-msdownload"); response.addHeader("Content-Disposition", "attachment; filename=\"" + disName + "\""); int fileLength = (int) file.length(); response.setContentLength(fileLength); /* 如果文件長度大於0 */ if (fileLength != 0) { /* 創建輸入流 */ InputStream inStream = new FileInputStream(file); byte[] buf = new byte[4096]; /* 創建輸出流 */ ServletOutputStream servletOS = response .getOutputStream(); int readLength; while (((readLength = inStream.read(buf)) != -1)) { servletOS.write(buf, 0, readLength); } inStream.close(); servletOS.flush(); servletOS.close(); success = true; } } 問題補充:我已經把Log信息貼出來了,正在找問題,不知道有沒有遇到過這個問題的! lifeidgp 寫道1.response.setContentType("application/x-msdownload");加入這樣代碼試試; 3.用firebug抓包吧。 lifeidgp 寫道1.response.setContentType("application/x-msdownload");加入這樣代碼試試; 3.用firebug抓包吧。
H. java 用戶在瀏覽器頁面點擊超鏈接「下載」 彈出保存框,用戶選擇保存地址,點擊「保存」
下載就是個鏈接,鏈接地址指向供用戶下載的文件路徑,如:
<a href="http://www.test.com/files/testfile.rar">下載</a>
這樣就能實現你要的功能了;如果要下載的文件比較特殊,如txt文件,txt文件默認是用瀏覽器打開的,要想實現你說的功能就需要在伺服器端配置txt文件的mime類型
I. java 寫一個action 能實現點擊事件後瀏覽器能自動下載xml文件的功能!!急
方法一:調用瀏覽器下載文件
下面Action里的代碼可以用調用瀏覽器進行下載xml文件
importjava.awt.Desktop;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.net.URI;
importjavax.swing.JButton;
importjavax.swing.JFrame;
{
JButtonjb;
publicDownLoadDemo(){
jb=newJButton("Download");
jb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
try{
Stringpath="網路xml的地址";
URIuri=newURI(path);
Desktop.getDesktop().browse(uri);
}catch(Exceptione1){
e1.printStackTrace();
}
}
});
add(jb);
setTitle("調用瀏覽器下載");
setBounds(380,380,230,80);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
publicstaticvoidmain(String[]args){
newDownLoadDemo();
}
}
當時上述下載方式,可能會彈出提示,比如保存位置等.
方法二:使用IO和net下載文件.這種方式沒有調用瀏覽器,下載過程,不會彈出提示燈
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.Date;
publicclassDownLoadDemo{
publicstaticvoidmain(String[]args)throwsException{
Stringstr="XML的網路地址";
URLurl=newURL(str);
URLConnectionurlconn=url.openConnection();
urlconn.connect();
InputStreamis=urlconn.getInputStream();
FileOutputStreamfos=newFileOutputStream("qq.exe");
byte[]buf=newbyte[4096];
intlength=0;
//System.out.println("開始下載時間:"+newDate());
while((length=is.read(buf))!=-1){
fos.write(buf,0,length);
}
fos.close();
is.close();
//System.out.println("下載完成時間:"+newDate());
}
}
J. Java下載問題,怎樣讓IE下載該文件,而不是打開該文件
//·設置響應消息頭,告訴瀏覽器當前響應是一個下載文件
response.setContentType( "application/x-msdownload");
//考慮到文件名中可能包含非ASCII碼字元,所以應該進行編碼後再傳輸
fileName = URLEncoder. encode(fileName, "UTF-8");
//告訴瀏覽器,當前響應數據要求用戶干預保存到文件中,以及文件名是什麼
response.setHeader( "Content-Disposition", "attachment;filename=" +fileName);