struts1和cos实现文件上传
2014-08-24 16:20
441 查看
由于自己现在做的项目需要实现大文件上传,通过查资料发现cos的上传效率相比其他几个上传控件效率要高,故尝试用cos试试,通过查资料和自己测试,发现cos通过servlet实现完全没问题,但是和struts1结合出现了问题:
struts1的action配置如果没有name属性,上传成功:
只要配置了name属性就提示错误:
目前这个错误还没找到解决方案,如果有谁知道这个的解决方案,请留言,多谢!
具体的代码实现如下:
//每个文件最大50m,现在是两个文件
int maxPostSize = 2*50 * 1024 * 1024 ;
//采用cos缺省的命名策略,重名后加1,2,3...如果不加dfp重名将覆盖
DefaultFileRenamePolicy dfp = new DefaultFileRenamePolicy();
//response的编码为"UTF-8",同时采用缺省的文件名冲突解决策略,实现上传,如果不加dfp重名将覆盖
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"UTF-8",dfp);
//MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"UTF-8");
//输出反馈信息
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
File f = multi.getFile(name);
if(f!=null){
String fileName = multi.getFilesystemName(name);
//获取上传文件的扩展名
String extName=fileName.substring(fileName.lastIndexOf(".")+1);
//获取需要转换的文件名,将路径名中的'\'替换为'/'
String converfilename = saveDirectory.replaceAll("\\\\", "/")+"/"+fileName;
}
}
页面中只要定义下面的就行:
<form name="form" method="post" enctype="multipart/form-data" action="路径">
<p>
<input name="file" type="file">
</p>
<p>
<input type="submit" name="Submit" value="上传">
</p>
</form >
需要cos.jar
struts1的action配置如果没有name属性,上传成功:
只要配置了name属性就提示错误:
目前这个错误还没找到解决方案,如果有谁知道这个的解决方案,请留言,多谢!
具体的代码实现如下:
//每个文件最大50m,现在是两个文件
int maxPostSize = 2*50 * 1024 * 1024 ;
//采用cos缺省的命名策略,重名后加1,2,3...如果不加dfp重名将覆盖
DefaultFileRenamePolicy dfp = new DefaultFileRenamePolicy();
//response的编码为"UTF-8",同时采用缺省的文件名冲突解决策略,实现上传,如果不加dfp重名将覆盖
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"UTF-8",dfp);
//MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"UTF-8");
//输出反馈信息
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
File f = multi.getFile(name);
if(f!=null){
String fileName = multi.getFilesystemName(name);
//获取上传文件的扩展名
String extName=fileName.substring(fileName.lastIndexOf(".")+1);
//获取需要转换的文件名,将路径名中的'\'替换为'/'
String converfilename = saveDirectory.replaceAll("\\\\", "/")+"/"+fileName;
}
}
页面中只要定义下面的就行:
<form name="form" method="post" enctype="multipart/form-data" action="路径">
<p>
<input name="file" type="file">
</p>
<p>
<input type="submit" name="Submit" value="上传">
</p>
</form >
需要cos.jar
相关文章推荐
- 用Struts实现文件上传
- struts 实现文件上传与下载
- Struts实现自动多文件上传
- 在Struts 2中实现文件上传
- 在Struts 2中实现文件上传
- 如何用Struts实现动态(不定数量)多个文件上传?
- struts 实现文件上传与下载
- 在Struts 2中实现文件上传
- 在Struts 2中实现文件上传
- 在Struts中实现文件上传下载
- 如果用struts实现动态(不定数量)多文件上传?
- 在Struts 2中实现文件上传
- 在Struts 2中实现文件上传
- struts如何实现上传文件的重命名????
- 在Struts 2中实现文件上传
- struts 实现文件上传与下载
- 在Struts 2中实现文件上传
- struts 实现文件上传与下载
- 在Struts 2中实现文件上传
- 在Struts 2中实现文件上传