作者:fbysss
声明:本文为fbysss原创,如需引用,请注明作者及引用地址
关键字:smartupload,uploadbean,linux,中文乱码

UploadBean上传解决方案
满意指数:五星
完成程度:100%
Demo:
1.表单页面sssformdata.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<head>
<title>fbysss UploadBean 示例</title>
<!--meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"-->
<!--meta http-equiv="Content-Type" content="text/html; charset=gb2312"-->
</head>
<FORM name="form1" METHOD="POST" ACTION="sssupload.jsp" ENCTYPE="multipart/form-data">
<input name="title" type= "text" value="中文字">
<td class="bodystyle">附件</td>
<td class="bodystyle"> <input name="attach" type="FILE" id="attach" size="50" > </td>
<input name="ok" type= "submit" value="提交">
</form>
2.读取表单页面sssgetdata.jsp
<!--
//==========================================================================
//文件:UploadBean上传实例
//功能:解决中文乱码,完成文件上传,并提供上传改名解决方案
//作者:fbysss
//msn:jameslastchina@hotmail.com
//==========================================================================
-->
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="com.jspsmart.upload.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.io.File"%>
<%@ page import="java.util.*"%>
<%@ page import="javazoom.upload.*"%>
<%@ page import="uploadutilities.FileMover"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<%
request.setCharacterEncoding("GBK");//设置编码格式,就不用一个个转码了。
FileMover fileMover = new FileMover();//你也可以使用自带的实例中jsp:useBean的形式。
UploadBean upBean = new UploadBean();
MultipartFormDataRequest mrequest = null;
Hashtable files = null;

if (MultipartFormDataRequest.isMultipartFormData(request))
{

mrequest = new MultipartFormDataRequest(request,null,100*1024*1024,MultipartFormDataRequest.COSPARSER,"GBK");//注意这里也要设置编码参数
String sTt0 = mrequest.getParameter("title");
out.println("<br>Title0是:"+sTt0+"<br>");
String sTt1 = new String(sTt0.getBytes("ISO-8859-1"),"GBK");
out.println("<br>Title1是:"+sTt1+"<br>");
//这里用来测试title参数是否正确。调试的时候,加一句if (true)return;即可。
files = mrequest.getFiles();
}

//获取修改前的文件名
String sOldFileName =mrequest.getParameter("oldfilename");
out.println("sOldFileName:"+sOldFileName);
String sWebRootPath = request.getRealPath("/");//得到你的web应用的根。
String sPath=sWebRootPath+"attach";
int iFileCount = 0;
String sServerFileName="";
String sLocalFileName = "";
//文件获取
if ( (files != null) || (!files.isEmpty()) ) {

iFileCount = files.size();
UploadFile file = (UploadFile) files.get("attach");
sLocalFileName=file.getFileName();
out.println("sLocalFileName:"+sLocalFileName);
int ii= sLocalFileName.indexOf("."); //取文件名的后缀
String sExt = sLocalFileName.substring(ii,sLocalFileName.length());
//得到不重复的文件名
java.util.Date dt = new java.util.Date(System.currentTimeMillis());
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
sServerFileName= fmt.format(dt);
sServerFileName =sServerFileName + sExt;
//如果不存在该目录,则新建一个
File dir =new File(sPath);
if (!dir.exists()){
dir.mkdirs();
}
upBean.setFolderstore(sPath);//设置要上传的目录
upBean.addUploadListener(fileMover);//增加filMover监听
fileMover.setNewfilename(sServerFileName);//设置服务器上的文件名
upBean.store(mrequest, "attach");//上传
out.println("file path is "+sPath+"/"+sServerFileName);
}

%>

Demo注意事项:cos.jar,uploadbean.jar,filemover.jar这几个包必须有。
必备下载地址:
UploadBean1.5:http://wcarchive.cdrom.com/pub/simtelnet/winnt/java/uploadbean1_5.zip
FileMover1.3:http://www.javazoom.net/jzservlets/uploadbean/addons/filemover1.3.zip
参考下载地址:
ChinesUpload例子:http://www.javazoom.net/jzservlets/uploadbean/addons/ChineseUpload.zip

转载于:https://www.cnblogs.com/Ankh/archive/2006/07/22/457279.html

UploadBean实现文件上传(转)相关推荐

  1. Java中的文件上传2(Commons FileUpload:commons-fileupload.jar)

    相比上一篇使用Servlet原始去实现的文件上传(http://www.cnblogs.com/EasonJim/p/6554669.html),使用组件去实现相对来说功能更多,省去了很多需要配置和处 ...

  2. JavaWeb之文件上传

    1.上传组件 ①Apache的Commons FileUpload ②JavaZoom的UploadBean ③JspSmartUpload 2.下载Commons的FileUpload组件 地址:h ...

  3. springMVC文件上传

    Spring MVC 框架的文件上传基于 commons-fileupload 组件,并在该组件上做了进一步的封装,简化了文件上传的代码实现,取消了不同上传组件上的编程差异. MultipartRes ...

  4. java上传文件到Oracle_用java实现ORACLE数据库的文件上传、下载

    文件上传使用: 的 UploadBean JAVA包,他的文件上传做的还不错,可进行目录或数据库的文件上传,默认使用的是ORACLE 的LONGRAW子段类型,可使用BLOB类型,但需要使用扩展JAV ...

  5. springboot设置文件上传大小(tomcat默认1M)

    application.yml # 设置文件上传大小(tomcat默认1M) server:tomcat:max-http-form-post-size: -1 spring:servlet:mult ...

  6. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

    将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...

  7. Springboot 多文件上传

    其实多个文件和单个文件上传是一样的,可以使用同一个Controller 添加依赖 <!-- https://mvnrepository.com/artifact/commons-fileuplo ...

  8. django文件上传

    Django在处理文件上传时,文件数据被打包封装在request.FILES中. 一.简单上传 首先,写一个form模型,它必须包含一个FileField: # forms.py from djang ...

  9. spring boot 文件上传工具类(bug 已修改)

    以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...

  10. 模拟文件上传(一):手动文件上传

    关于上传文件,首先我的第一个案例是一个文本文件的上传,简单容易上手! 首先我们上传文件肯定就属于实体内容部分了:所以不能过GET方式请求了,要通过POST方式请求: 因为: 1.get方式是URL传值 ...

最新文章

  1. 如何将更改的文件添加到Git中的旧(不是最后)提交
  2. CDN服务品质协议1
  3. 自动调试自动编译五分钟上手
  4. SQL Server存储过程初学者
  5. Linux Shell编程笔记10 Shell数组的补充
  6. 《剑指offer》面试题41/42——和为s的两个数字VS和为s的连续正数序列(C++代码实现)
  7. Recommending What Video to Watch Next: A Multitask Ranking System
  8. web漏洞扫描器原理_每周一喂丨用于渗透测试的10种漏洞扫描工具
  9. Torch中的benchmarkdeterministic是什么含义?
  10. 透明度轮播图和滚动轮播图
  11. linux 什么是tty console和tty和串口的关系 如何在linux下查看tty对应哪个串口
  12. CPinyin unicode汉字查找拼音(支持多音字)
  13. 原生php写简单的聊天室
  14. 大数据平台的软件有哪些?
  15. 自定义画圆进度条,带波浪动态效果
  16. 新手怎么写电影解说文案?
  17. 计算机网络谢希仁第七版课后答案完整版 微课视频 配套课件
  18. 高中毕业学计算机编码,高中毕业证书编号规则
  19. 温度转换java小程序_温度转换小程序--JavaFX
  20. ElasticSearch索引别名和零停机

热门文章

  1. openCV,C++接口,cv::Mat矩阵数据元素读取
  2. 【Gym - 100837 F】Controlled Tournament【竞赛树 状态压缩】
  3. Reason of Random Initialization - Neural Networks
  4. 使用PS2EXE将PowerShell脚本编译为可执行程序
  5. 633.平方数之和(力扣leetcode) 博主可答疑该问题
  6. 北邮计算机学院 王小捷,王小捷智能科学与技术中心北京邮电大学.pdf
  7. 电大本科免考英语和计算机,网络教育本科英语和计算机统考免考条件是什么?...
  8. 【模板】堆优化 + dij +pair 存储
  9. vue-methods三种调用的形势
  10. 设计模式-12-命令模式