将字节[]转换为图像

时间:2016-11-03 12:22:23

标签: javascript java jquery html

我想在客户端将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();
}

请告诉我哪里出错了......

0 个答案:

没有答案