jspSmartUpload上传中文乱码问题

    技术2022-05-20  50

    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());  }%>


    最新回复(0)