Java servlet中的dowload链接
我正在尝试下面的代码,以便在servlet中创建下载链接。但这是行不通的。请检查或给我另一个代码或方法Java servlet中的dowload链接,java,servlets,Java,Servlets,我正在尝试下面的代码,以便在servlet中创建下载链接。但这是行不通的。请检查或给我另一个代码或方法 public class Downlord1 extends HttpServlet { int BYTES_DOWNLOAD=1024; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOE
public class Downlord1 extends HttpServlet {
int BYTES_DOWNLOAD=1024;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
response.setHeader("Content-Disposition","attachment;Filename=dp.jpg");
ServletContext ctx=getServletContext();
InputStream is=ctx.getResourceAsStream("/images/krishna.jpg");
int read=0;
byte[] bytes=new byte[BYTES_DOWNLOAD];
OutputStream os=response.getOutputStream();
while((read=is.read(bytes))!=-1)
{
os.write(bytes,0, read);
}
os.flush();
os.close();
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}将内容类型更改为
图像/jpeg
删除
PrintWriter out=response.getWriter()代码>-它未被使用,并且会导致调用response.getWriter
或多次调用.getOutputStream
时出现问题。什么不起作用?你期望它做什么,它会做什么?有例外吗?如果是这样,堆栈跟踪是什么?“请检查或给我另一个代码或方法”您是否有机会向我们付款?