三种上传组件的使用与ajax上传

本篇文章我们来看一下知名的三种上传组件(commons-fileupload , Oreilly COS , SmartUpload)的使用 , 外加一个ajax上传的例子(commons-fileupload) , 我在附件中添加的jar包都解决了中文上传问题 , 我费了老些劲在网上下的。

 

 

其中commons-fileupload控制上传的代码如下(页面编码设置为utf-8格式):

		request.setCharacterEncoding("utf-8");
		FileItemFactory  factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		try {
			List<FileItem> list = upload.parseRequest(request);
			for (int i = 0; i < list.size(); i++) {
				FileItem fileItem = list.get(i);
				String name = fileItem.getName().substring(fileItem.getName().lastIndexOf("\\") + 1);
				request.getSession().setAttribute(name, true);
				fileItem.write(new File("d:/upload/" + name));
			}
		} catch (FileUploadException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}

 其中Oreilly COS控制上传的代码如下(页面编码格式设置成utf-8格式)

		request.setCharacterEncoding("utf-8");
		MultipartRequest mr = new MultipartRequest(request , "d:/upload/" , 100000000 , "utf-8");
		Enumeration fileNames = mr.getFileNames();
		while(fileNames.hasMoreElements()) {
			String fileName = (String) fileNames.nextElement();
			File file = mr.getFile(fileName);
			if(file != null) {
				String filesystemName = mr.getFilesystemName(fileName);
				System.out.println(filesystemName + "成功上传 ");
			}
		}

 其中SmartUpload控制上传的代码如下(页面编码设置为utf-8格式)

	request.setCharacterEncoding("utf-8");
	SmartUpload su = new SmartUpload();
	su.initialize(pageContext);
	su.upload("utf-8");
	int count = su.save("/upload");
	out.println(count + "个文件上传成功");

 所有的jar包都在附件中,大家可以下载。

 

我做了一个模仿javaeye上传的例子,不是很好 , 大家可以看下 , 工程在附件中。

 

 

你可能感兴趣的:(JavaScript,jquery,数据结构,Ajax,Flash)