用cos进行文件上传

原创 2004年07月20日 10:00:00

用cos进行文件上传

作者:陈万飞

在jsp中实现文件上传,可用的类库很多,比如有著名的jspsmart公司SmartUpload,struts里面也有。我这里说说cos,它是O'Reilly公司的,O'Reilly的图书是很8错的,这个上传的组件也做得很棒,最重要的是,它是open source的。

  1. 下载最新的cos包(http://www.servlets.com/cos/index.html),加入到你的classpath中。

  2. 编写一个需要上传文件的jsp,为了方便,我就用一个简单的htm文件了,在这个页面中,我们让用户一次可以上传3个文件。
    /////////////////////upload.htm//////////////////////////////////// <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title>无标题文档</title> </head> <body> <!-- enctype的值很重要,upload.jsp为处理上传的jsp--> <form name="form1" method="post" enctype="multipart/form-data" action="upload.jsp"> <p> <input name="file1" type="file"> </p> <p> <input name="file2" type="file"> </p> <p> <input name="file3" type="file"> </p> <p> <input type="submit" name="Submit" value="上传"> </p> </form > </body> </html> 
  3. 在c:/下建一个目录c:/upload,用来存放上传的文件。

  4. 写一个jsp或者servlet来实现上传,我这里用一个叫upload.jsp,这样就不用配置web.xml,呵呵,比较懒的说。
    ////////////////////////////upload.jsp//////////////////////// <%@page import="java.io.*"%> <%@page import="com.oreilly.servlet.MultipartRequest"%> <%@page import="com.oreilly.servlet.multipart.CoverFileRenamePolicy"%> <%@page contentType="text/html; charset=gb2312" %> <% //文件上传后,保存在c://upload String saveDirectory ="c://upload"; //每个文件最大5m,最多3个文件,所以... int maxPostSize =3 * 5 * 1024 * 1024 ; //response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传 MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "gb2312"); //输出反馈信息 Enumeration files = multi.getFileNames(); while (files.hasMoreElements()) { System.err.println("ccc"); String name = (String)files.nextElement(); File f = multi.getFile(name); if(f!=null){ String fileName = multi.getFilesystemName(name); String lastFileName= saveDirectory+"//" + fileName; out.println("上传的文件:"+lastFileName); out.println("<hr>"); } } %> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> 
  5. 最后把这2个文件发布到你的服务器就行了。上传文件就搞定啦,以后你想在你邮件系统里面嵌入发送附件的功能,用这个来做上传也不错啊。

最后,希望这篇文章对你有所启发,如有错误,敬请批评指正!

fileupload和cos文件上传技术区别

jsp文件上传大多采用采用开源项目来简化处理,这里列出常用的两个jar包的实现,并进行比较,说明他们的优缺点和应该注意的问题。  Commons FileUpload,可以在 http://ja...
  • u010059610
  • u010059610
  • 2016年10月10日 11:45
  • 739

腾讯云cos对象存储服务文件上传api就是一个大坑

一、介绍 对象存储服务(Cloud Object Service)是基于腾讯多年海量服务经验,对外提供的可靠、安全、易用的海量存储服务。提供多样化接入方式,以及全国部署的上传加速集群,可以无...
  • Mr_Smile2014
  • Mr_Smile2014
  • 2016年07月07日 10:46
  • 12599

COS多文件上传

在开发中常常需要上传文件,上传文件的方式有很多种,这里有一个cos实现的例子。 首先是要拷贝cos.jar包拷贝到WEB-INF/lib目录下,然后才进行编码。 创建一个实现上传功能的servlet...
  • kehukehu_kehu
  • kehukehu_kehu
  • 2017年07月16日 18:12
  • 211

腾讯云对象存储服务(COS) Python3 SDK

cos-python3-sdk腾讯云对象存储服务(cos)Python3.5版本SDK*此版本非官方版本项目进展:部分开发完成SDK用法简介1.安装1.1 推荐使用pip安装,命令: pip inst...
  • huplion
  • huplion
  • 2017年02月12日 00:39
  • 1925

struts2文件上传修改为cos框架处理一系列事情

前段时间Struts2出来一个编号CVE-2017-5638的漏洞,影响系统及版本:Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10! 项...
  • QWERTY1994
  • QWERTY1994
  • 2017年03月16日 14:31
  • 961

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!...
  • jspping
  • jspping
  • 2016年09月14日 16:47
  • 5218

腾讯云的cos云存储解决小网站带宽

最近博客开始使用腾讯云的cos云存储,主要解决静态文件的访问,节约服务器的带宽 最近无意中发现360cdn对于静态文件的命中很差,以2月份的数据为例 只有32%多的访问量命中了360cdn 而对于网...
  • a454213722
  • a454213722
  • 2016年07月28日 12:00
  • 1119

cos组件实现文件上传

cos组件实现文件上传
  • changerzhuo_319
  • changerzhuo_319
  • 2016年12月20日 21:27
  • 201

几种上传文件组件的性能比较

近两天来由于项目需要使用上传组件,于是我仔细分析了Cos和FileUpload的源代码,并对它们的性能进行了测试比较,使用2M、20M、45M、200M的上传大小测试三种组件所花费的时间(单位为ms)...
  • alisafreya
  • alisafreya
  • 2013年08月13日 10:26
  • 1288

struts1和cos实现文件上传

由于自己现在做的项目需要实现大文件上传,通过查资料发现cos的shanc
  • menghuannvxia
  • menghuannvxia
  • 2014年08月24日 16:20
  • 709
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用cos进行文件上传
举报原因:
原因补充:

(最多只允许输入30个字)