uploadbean+filemover解决上传文件获取表单中文乱码
来源:互联网 发布:macbook强制卸载软件 编辑:程序博客网 时间:2024/05/18 02:22
最近不是一直在做老师的期末项目么,因为做的是一个视频在线点播的网站,所以在上传的部分一直使用smartupload上传文件,将数据写入数据库,可是这个工具有那么几个问题:
1. 已经不维护了
2. 对中文的支持很差
3. 上传文件的大小有限制,大于200M就会出问题
最早使用new String()的办法,可是对字数奇数偶数有限制,而且还是会出现乱码,又时百度,又是google的,没有好的办法,最后还是让我找到了一个非常完美的解决办法:使用uploadbean+filemover解决。
首先要引入3个jar包
下载地址:
http://download.csdn.net/detail/xq328220454/3807748
下面是上传实例的代码
upload.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@page import="javazoom.upload.UploadBean"%><%@page import="uploadutilities.FileMover"%><%@page import="com.up.IPTimeStamp"%><%@page import="javazoom.upload.MultipartFormDataRequest"%><%@page import="javazoom.upload.UploadFile"%><%@page import="com.vo.Movie"%><%@page import="com.dao.MovieDAO"%><%@page import="javax.sql.DataSource"%><%@page import="com.dbulits.DBHandler"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><%//获取数据库连接DataSource ds = DBHandler.getDataSource();%><%//创建上传对象UploadBean upBean = new UploadBean();//创建FileMoverFileMover fileMover = new FileMover();//设置上传的目录upBean.setFolderstore(application.getRealPath("/")+ "OnlinePlay/voide/");upBean.setOverwrite(true);//添加上传监听upBean.addUploadListener(fileMover);%><%//上传 and 重命名操作if (MultipartFormDataRequest.isMultipartFormData(request)) {//实例化重命名的类IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr());//重命名String name = its.getIPTimeRand() + ".flv";fileMover.setNewfilename(name);//获取request,同时设置最大文件上传,设置编码MultipartFormDataRequest mrquest = new MultipartFormDataRequest(request, null, 200 * 1024 * 1024,MultipartFormDataRequest.COSPARSER, "utf-8");//获取参数String intro = mrquest.getParameter("intro");String author = (String) session.getAttribute("username");String voideName = mrquest.getParameter("name");Date uptime = Calendar.getInstance().getTime();int count = 0;//播放次数初始值String type = mrquest.getParameter("type");String id = its.getIPTimeRand().toString();String path = "/OnlinePlay/voide/" + name;//获取文件列表Hashtable files = mrquest.getFiles();if ((files != null) || (!files.isEmpty())) {UploadFile file = (UploadFile) files.get("dyfile");upBean.store(mrquest, "dyfile");//写入数据库Movie m = new Movie(id, type, voideName, author, uptime,count, path, intro);//将视频信息写入到数据库文件MovieDAO md = new MovieDAO(ds);md.addMovie(m);session.setAttribute("uploadMovie", m);response.sendRedirect("../upok.jsp");}}%></body></html>顺利解决上传文件时,表单被封装为二进制,获取中文写入数据库出现乱码的问题了。
- uploadbean+filemover解决上传文件获取表单中文乱码
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- UploadBean实现上传文件
- 使用commons-fileupload实现文件(doc、pdf)上传,提取表单参数并解决中文乱码
- FTP 文件上传 解决中文乱码
- PHP-claroline中文文件上传乱码解决
- resteasy上传文件中文乱码解决
- 解决上传文件中文乱码问题
- 解决PHP上传文件中文乱码问题
- SmartUpload上传文件中文乱码解决
- UploadBean上传
- java上传文件到ftp-解决中文乱码的问题
- jsp+servlet 文件上传 解决中文乱码问题
- 解决上传文件时服务端中文文件名乱码问题
- Set Processing vs Row Processing
- Hibernate一对多(双向)
- git 使用
- The uses of Application Engine
- 9.user input and frame listener
- uploadbean+filemover解决上传文件获取表单中文乱码
- 第一篇喔
- 插件89:词根提示
- 世界上迄今最伟大的四位数学家
- PeopleSoft Functional Requirements Questionaire
- DP入门, 0-1背包问题(HDOJ 2602类似)
- xml
- SVG的字体操作
- Tuxedo and PeopleSoft review