我使用了一个cos组件,将cos.jar包拷贝到lib下

新建一个jsp页面 dcumentUpload.jsp


<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8" pageEncoding&#61;"UTF-8"%>







请上传要处理的文件&#xff0c;过程可能需要几分钟&#xff0c;请稍候片刻。






然后再建一个servlet来处理文件上传

package ytu.botao.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
public class DoUploadServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {process(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {process(request, response);}public void process(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out &#61; response.getWriter();// 文件上传采用cos组件上传&#xff0c;可更换为commons-fileupload上传&#xff0c;文件上传后&#xff0c;保存在upload文件夹// 获取文件上传路径String saveDirectory &#61; getServletContext().getRealPath("/")&#43; "resource";// 打印上传路径信息System.out.println(saveDirectory);// 每个文件最大50mint maxPostSize &#61; 50 * 1024 * 1024;// 采用cos缺省的命名策略&#xff0c;重名后加1,2,3...如果不加dfp重名将覆盖DefaultFileRenamePolicy dfp &#61; new DefaultFileRenamePolicy();// response的编码为"UTF-8",同时采用缺省的文件名冲突解决策略,实现上传,如果不加dfp重名将覆盖MultipartRequest multi &#61; new MultipartRequest(request, saveDirectory,maxPostSize, "UTF-8", dfp);// 输出反馈信息Enumeration files &#61; multi.getFileNames();while (files.hasMoreElements()) {System.err.println("ccc");String name &#61; (String) files.nextElement();File f &#61; multi.getFile(name);if (f !&#61; null) {// ----------打开文件所放文件夹 取出文件名字String fileName &#61; multi.getFilesystemName(name);// 获取上传文件的扩展名String extName &#61; fileName.substring(fileName.lastIndexOf(".") &#43; 1);// 文件全路径String lastFileName &#61; saveDirectory &#43; "\\" &#43; fileName;// 获取需要转换的文件名,将路径名中的&#39;\&#39;替换为&#39;/&#39;String converfilename &#61; saveDirectory.replaceAll("\\\\", "/")&#43; "/" &#43; fileName;System.out.println("需要转换的文件&#xff1a;" &#43; converfilename);
// response.setContentType(arg0)out.print("上传完成................");}}}
}