我想在客户端将byt[]
转换为image
。我尝试过以下代码,但它不起作用。我收到data1值但无法将其转换为图像。
客户端:
function getPic(name) {
$.post("/Chat/ProfliePic", {
name : name+".png"
}, function(data1, status) {
alert(data1);
$("#profImg").attr("src","data:image/png;base64," + data1);
});
}
服务器端:
package servlets;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ProfliePic")
public class ProfliePic extends HttpServlet {
private static final long serialVersionUID = 1L;
public ProfliePic() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=request.getParameter("name");
File f = new File("/Users/shilu/MyProject/Chat/Photo/" + name);
byte[] data = new byte[(int) f.length()];
DataInputStream in = new DataInputStream(new java.io.FileInputStream(f));
in.readFully(data);
in.close();
response.setContentType("image/png");
ServletOutputStream out = response.getOutputStream();
out.write(data);
out.flush();
out.close();
}
请告诉我哪里出错了......