讀取圖片
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = this.getContext().getRealPath("test.jpg");
InputStream in = new FileInputStream(url);
OutputStream out = response.getOutputStream();
byte [] by = new by[1024];
int i = 0;
while((i=in.read(by))!=-1)
{
out.write(by,0,i);
}
in.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
下載圖片
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//寫入請求頭下載圖片文件
responst.setHeader("Content-Disposition","attachment;filename=test.jpg");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
可以使用
URLEncoder.encode("String","utf-8"); 把一個String轉成UTF-8
URLDecoder.decode("String","utf-8"); 把一個String 解析成UTF-8
可以使用上面方法來給圖片文件設置名稱,
response.setHeader("Content-Dispostion","attachment;filename="+URLEncoder.encoder("測試.jpg","utf-8"));
常用的幾種response輸出數據格式(不亂碼)
①
response.setContentType("text/html;charset=utf-8"); // 告訴用UTF-8解析
response.setCharacterEncoding("utf-8"); // 告訴服務器用UTF-8 解析
response.getWriter().write("中國");
②
response.setContenType("text/html;charset=utf-8"); // 告訴用UTF-8解析
response.getOutputStream().write("中國".getBytes("UTF-8")); // 瀏覽器用UTF-8解析
③
response.getOutputStream().write("中國".getBytes()); //按照瀏覽器默認的編碼解析
日期:2018/05/21
