jspSmartUpload上传中文乱码问题

来源:互联网 发布:网络棋牌骗局 编辑:程序博客网 时间:2024/05/22 12:25
 jspSmartUpload上传中文乱码问题
第一次使用jspSmartUpload组件上传东西,使用起来简单又方便,但是在上传中文的时候会遇到乱码问题。刚开始是全部中文乱码,添加这航value=new String(value.getBytes("gbk"),"gbk");代码后,部分中文乱码。后来对tomcat配置文件service.xml做了修改,在<Connector>标签中添加URIEncoding='gbk',还要使所有的编码都变成gbk。也就是说,编码要一致。

<%@ page contentType="text/html;" pageEncoding="gbk" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*,com.Object.*,com.bussiness.*"%>


<%
 SmartUpload mySmartUpload =new SmartUpload();
 long file_size_max=4000000;
 String fileName2="",ext="",testvar="";
 String url="/Admin/upload/"; //应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)
 //初始化
 mySmartUpload.initialize(pageContext);
 //只允许上载此类文件
 try {
  mySmartUpload.setAllowedFilesList("jpg,gif,bmp,png");//此处的文件格式可以根据需要自己修改
  //上载文件
  mySmartUpload.upload();
 } catch (Exception e){
 %>
 <SCRIPT language=javascript>
  alert("只允许上传图片文件");
  window.location='UpImages.jsp';
 </script>
<%
 }
 try{
 
  com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
  if (myFile.isMissing()){%>
  <SCRIPT language=javascript>
   alert("请先选择要上传的文件");
   window.location='UpImages.jsp';
  </script>
  <%}
  else{
   //String myFileName=myFile.getFileName(); //取得上载的文件的文件名
   ext= myFile.getFileExt(); //取得后缀名
   int file_size=myFile.getSize(); //取得文件的大小
   String saveurl="";
   if(file_size<file_size_max){
    //更改文件名,取得当前上传时间的毫秒数值
    Calendar calendar = Calendar.getInstance();
    String filename = String.valueOf(calendar.getTimeInMillis());
    saveurl=application.getRealPath("/")+url;
    saveurl+=filename+"."+ext; //保存路径
    myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL);
    out.print(saveurl);
    
    //将图片路径保存在数据库,方法自己写吧!经过上面的那些设置和这里的编码转换,问题总算解决了!
    String value = mySmartUpload.getRequest().getParameter("desc");
    value=new String(value.getBytes("gbk"),"gbk");//换成gbk
    System.out.println(value);
    //String value = java.net.URLDecoder.decode(request.getParameter("param"),"UTF-8");
    ImagesManager.AddImages(saveurl,value);
  
    String ret = "parent.HtmlEdit.focus();";
    ret += "var range = parent.HtmlEdit.document.selection.createRange();" ;
    ret += "range.pasteHTML('<img src=/""+"upload/" + filename + "." + ext + "/">');" ;
    ret += "alert('上传成功!');";
    ret += "window.location='UpImages.jsp';";
    out.print("<script language=javascript>" + ret + "</script>");
   
   }
  }
 }catch (Exception e){
  out.print(e.toString());
 }
%>

原创粉丝点击