將字串或檔案控制瀏覽器以下載的形式開啟檔案
阿新 • • 發佈:2018-12-10
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
/**
* 將字串或檔案控制瀏覽器以下載的形式開啟檔案
* Created by yjli on 2017/4/25.
*/
@Controller
@RequestMapping("/upload")
public class UploadFileController {
@RequestMapping("/upload")
public void test(HttpServletResponse response){
String filename = "a.xml";
String msg = "123456";
response.reset();
response.setContentType("application/x-download");
response.setCharacterEncoding("UTF-8");
try {
//設定content-disposition響應頭控制瀏覽器以下載的形式開啟檔案
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GB2312"), "iso8859-1"));
// 輸出資源內容到相應物件
response.getOutputStream().write(msg.getBytes("utf-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("/uploadFile")
public void test1(HttpServletResponse response){
String filename = "a.xml";
String msg = "123456";
response.reset();
response.setContentType("application/x-download");
response.setCharacterEncoding("UTF-8");
try {
// InputStream in = new FileInputStream(new File(filename));
InputStream in = new BufferedInputStream(new ByteArrayInputStream(msg.getBytes("utf-8")));
if (in == null)
return;
//設定content-disposition響應頭控制瀏覽器以下載的形式開啟檔案
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GB2312"), "iso8859-1"));
// 輸出資源內容到相應物件
byte[] b = new byte[1024];
int len;
OutputStream out = response.getOutputStream();
while ((len = in.read(b, 0, 1024)) != -1) {
out.write(b, 0, len);
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
/**
* 將字串或檔案控制瀏覽器以下載的形式開啟檔案
* Created by yjli on 2017/4/25.
*/
@Controller
@RequestMapping("/upload")
public class UploadFileController {
@RequestMapping("/upload")
public void test(HttpServletResponse response){
String filename = "a.xml";
String msg = "123456";
response.reset();
response.setContentType("application/x-download");
response.setCharacterEncoding("UTF-8");
try {
//設定content-disposition響應頭控制瀏覽器以下載的形式開啟檔案
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GB2312"), "iso8859-1"));
// 輸出資源內容到相應物件
response.getOutputStream().write(msg.getBytes("utf-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("/uploadFile")
public void test1(HttpServletResponse response){
String filename = "a.xml";
String msg = "123456";
response.reset();
response.setContentType("application/x-download");
response.setCharacterEncoding("UTF-8");
try {
// InputStream in = new FileInputStream(new File(filename));
InputStream in = new BufferedInputStream(new ByteArrayInputStream(msg.getBytes("utf-8")));
if (in == null)
return;
//設定content-disposition響應頭控制瀏覽器以下載的形式開啟檔案
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GB2312"), "iso8859-1"));
// 輸出資源內容到相應物件
byte[] b = new byte[1024];
int len;
OutputStream out = response.getOutputStream();
while ((len = in.read(b, 0, 1024)) != -1) {
out.write(b, 0, len);
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}