📄 uploadservlet.java
字号:
/*
* UploadServlet.java
*
* Created on Sekmadienis, 2007, Rugs雑o 30, 20.18
*/
package org.openacs;
import java.io.*;
import javax.mail.MessagingException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.mail.internet.MimeMultipart;
import javax.mail.BodyPart;
/**
*
* @author Administrator
* @version
*/
public class UploadServlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("Uploader request");
int t = 0;
String ct = request.getContentType();
if (ct == null) return;
if (ct.startsWith("multipart/form-data;")) {
MultipartDataSource src = new MultipartDataSource(request);
MimeMultipart mp;
try {
mp = new MimeMultipart(src);
System.out.println("Got body count " + mp.getCount());
BodyPart bp = mp.getBodyPart(0);
FileOutputStream fout = new FileOutputStream ("c:\\temp\\"+bp.getFileName());
bp.getDataHandler().writeTo(fout);
fout.close();
System.out.println("Upload data read complete.");
System.out.println("FileName = " + bp.getFileName());
System.out.println("Disposition = " + bp.getDisposition());
System.out.println("Description = " + bp.getDescription());
System.out.println("Size = " + bp.getSize());
} catch (MessagingException ex) {
ex.printStackTrace();
}
} else {
System.out.println ("Uknown content type: "+ct);
/*
ServletInputStream in = request.getInputStream();
int c;
byte[] b = new byte[10240];
while ((c = in.read(b)) != -1) {
// System.out.println ("Read "+c+" bytes");
t += c;
}
System.out.println("UploadServlet data read complete " + t + " bytes");
*/
}
// response.setStatus(response.SC_NO_CONTENT);
}
// <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
*/
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
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>PUT</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Upload files";
}
private class MultipartDataSource implements javax.activation.DataSource {
private ByteArrayInputStream streamIn;
private String contentType;
public MultipartDataSource(HttpServletRequest request) throws IOException {
int c, o = 0, l = request.getContentLength();
InputStream s = request.getInputStream();
byte b[] = new byte [l];
while ((c = s.read(b, o, l)) > 0 && l > 0) {
o += c;
l -= c;
}
streamIn = new ByteArrayInputStream (b);
System.out.println ("Available: " +streamIn.available());
contentType = request.getContentType();
}
public InputStream getInputStream() throws IOException {
return streamIn;
}
public OutputStream getOutputStream() throws IOException {
throw new IOException();
}
public String getContentType() {
return contentType;
}
public String getName() {
return "MultipartDataSource";
}
}
// </editor-fold>
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -