用cos进行文件上传

原创 2004年09月13日 16:54:00
在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//////////////////////////////////////

[pre]<!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>[/pre]


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
  • 740

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

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

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
  • 5219

腾讯云的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
  • 1290

struts1和cos实现文件上传

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

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