⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downloadservlet.java~16~

📁 一个上传的例子
💻 JAVA~16~
字号:
package com.xiaobai.bbsupload;import javax.servlet.http.HttpServlet;import javax.servlet.http.*;import javax.servlet.*;import java.io.*;import java.io.File;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: 下载的servlet</p> * @author 1232Maxine * @version 1.0 */public class downloadServlet extends HttpServlet {  public downloadServlet() {  }  private static final String CONTENT_TYPE = "application/x-msdownload";//下载头  //Initialize global variables  public void init() throws ServletException {  }  //Process the HTTP Get request  public void doGet(HttpServletRequest request, HttpServletResponse response) throws      ServletException, IOException {    String picdir =request.getContextPath()+request.getParameter("picdir");    if (picdir == null) {      picdir = "";    }    picdir = picdir;    String filename=request.getParameter("fileName");    //PrintWriter out = response.getWriter();    File file = new File("uploadtext/uploadfiles/xiaobai11185712179370bizhi.jpg");//检查文件是否存在    if (!file.exists()) {   this.getServletContext().getRequestDispatcher(response.encodeURL("/error.jsp?errorinfo=此文件过期,已经不存在!")).forward(request, response);      return ; }    long filelength = file.length();    InputStream inStream=new FileInputStream(picdir);//设置输出的格式    response.reset();    response.setContentType(CONTENT_TYPE);  //设置下载头    response.setContentLength((int)filelength);    response.addHeader("Content-Disposition","attachment; filename=\"" + toUtf8String(filename) + "\"");//循环取出流中的数据    byte[] b = new byte[100];    int len;  while((len=inStream.read(b)) >0) ///每次读出100字节  response.getOutputStream().write(b,0,len);   //输出到响应流中  inStream.close();  if(file!=null){    file=null;  }  }  //Process the HTTP Post request  public void doPost(HttpServletRequest request, HttpServletResponse response) throws      ServletException, IOException {    doGet(request, response);  }  //Clean up resources  public void destroy() {  }  private String toUtf8String(String s) {///转换成UTF-8  StringBuffer sb = new StringBuffer();  for (int i=0;i<s.length();i++) {  char c = s.charAt(i);  if (c >= 0 && c <= 255) {  sb.append(c);  } else {  byte[] b;  try {  b = Character.toString(c).getBytes("utf-8");  } catch (Exception ex) {  System.out.println(ex);  b = new byte[0];  }  for (int j = 0; j < b.length; j++) {  int k = b[j];  if (k < 0) k += 256;  sb.append("%" + Integer.toHexString(k).  toUpperCase());  }  }  }  return sb.toString();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -