- 
							jspsmartupload插件模拟ajax上传文件普通类
- 
							- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
 
- 
							- 
													一、引入jspsmartupload插件jar包
 见\WebRoot\WEB-INF\lib\jspSmartUpload_supportZH.jar (一般jspSmartUpload插件不支持文件中文名,易出现乱码问题,这个jar包在原来的jar包基础上做了修改,所以这个jar包是支持文件中文名的) 插件作用以及应用:模拟ajax上传文件,社区中用蒙版实现分享资源、发布作品不能像以前普通的表格来上传文件,所以用的是jspsmartupload插件。 - 
													二、jsp中上传文件代码
 <form id="top_shareResource_submitfileForm" name="top_shareResource_submitfileForm" method="post" action="/community/resource/upload.jsp" enctype="multipart/form-data" onSubmit="return checkShareResourceFile();" target="hiddenIframe"> 
 <!-- 上传文件-开始 -->
 <div class="top_block_title ml10 mr10 mt10 cb">
 <div class="top_block_title_bar pl5"><%=PropertyUtil.readProperty("uploadfile",language)%>(<%=PropertyUtil.readProperty("notuploadfileandweb",language)%>)</div>
 <div class="top_block_title_content">
 <input type="file" id="from" name="from" type="file" size="75" onkeydown="event.returnValue=false;" onpaste="return false" class="top_input_file"></input>
 </div>
 </div>
 <!-- 上传文件-结束 -->
 <input type="submit" class="uploadfileclass" value="<%=PropertyUtil.readProperty("cmuploadfile",language)%>" onclick="javascript:void(0)" id="top_shareResource_Upload"/>
 <iframe id="hiddenIframe" name="hiddenIframe" style="display:none;"></iframe>
 </form>注意:<iframe id="hiddenIframe" name="hiddenIframe" style="display:none;"></iframe>很必要!!! 详见 中用蒙版分享资源的蒙版html代码 - 
													三、上传文件时js验证
 function checkShareResourceFile(){ 
 if(document.getElementById("from").value==""){
 alert("<%=PropertyUtil.readProperty("selectonefile",language)%>");
 return false;
 }
 if(isHarmfulFile(document.getElementById("from").value)){
 alert("<%=PropertyUtil.readProperty("filealarm",language)%>");
 return false;
 }
 document.getElementById("top_shareResource_Upload").disabled=true;//为了防止重复提交的问题
 document.getElementById("top_shareResource_Upload").value="<%=PropertyUtil.readProperty("insubmit",language)%>";
 return true;
 }- 
													四、文件提交到/community/resource/upload.jsp
 <%@ page language="java" 
 import="java.util.*,com.uisk.hep.bo.*,hep.webapp.session.*,com.jspsmart.*,com.jspsmart.upload.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
 <%@ page import="etc.util.PropertyUtil,etc.util.SysConstants"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <%
 //新建一个SmartUpload对象
 SmartUpload su = new SmartUpload();
 long file_size_max=800000000;
 
 String fileName2="",ext="",testvar="";
 
 String url="upImages\\community\\resource\\"; //应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)
 User user = SessionManager.getInstance().getUser(request);
 String language=SysConstants.SYS_LANGUAGE;
 if(user!=null){
 language=user.getLanguage();
 }
 //上传初始化
 su.initialize(pageContext);
 
 // 设定上传限制
 //1.限制每个上传文件的最大长度。
 // su.setMaxFileSize(file_size_max);
 
 //2.限制总上传数据的长度。
 // su.setTotalMaxFileSize(2000000000);
 
 
 boolean sign = false;
 
 //3.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,bak扩展名的文件和没有扩展名的文件。
 try {
 // su.setAllowedFilesList("doc,txt,rar,jpg,png,jsp,docx,ppt,xml");
 su.setDeniedFilesList("exe,bat,bak");
 //上传文件
 su.upload();
 
 } catch (Exception e) {
 e.printStackTrace();
 %>
 <SCRIPT language=javascript>
 alert("<%=PropertyUtil.readProperty("notuploadfileandweb",language)%>");
 window.history.go(-1);
 </script>
 <%
 }
 try{
 com.jspsmart.upload.SmartFile myFile = su.getFiles().getFile(0);
 // System.out.println("fileame:"+myFile.getFileName());
 
 if(myFile!=null){
 sign = true;
 }
 //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);
 
 String filepath = "/upImages/community/resource/"+filename + "." + ext;
 
 // System.out.println("filepath:"+filepath);
 
 if(sign){
 %>
 <SCRIPT language=javascript>
 // alert('上传文件成功!');
 </script>
 <%
 out.println("<script language=javascript>parent.callback('"+filepath+"','resource')</script>");
 }else{
 %>
 <SCRIPT language=javascript>
 alert('<%=PropertyUtil.readProperty("uploadFailed",language)%>');
 </script>
 <%
 }
 // String ret = "parent.HtmlEdit.focus();";
 // ret += "var range = parent.HtmlEdit.document.selection.createRange();" ;
 // ret += "range.pasteHTML('<img src=\"" + request.getContextPath() + "/upload/" + filename + "." + ext + "\">');" ;
 // ret += "alert('上传成功!');";
 // ret += "window.location='upload.htm';";
 // out.print("<script language=javascript>" + ret + "</script>");
 }
 }catch (Exception e){
 out.print(e.toString());
 }
 %>- 
													五、使用jspsmartupload插件模拟ajax上传文件已经完毕
 如果想更多的了解jspsmartupload插件,见文档:jspSmartUpload使用文档.docx 
- 
													
- 
							- 标签:
- ret
- 文件
- string
- 39
- 上传文件
- language
- 模拟ajax
- script
- div
- propertyutil.readproperty
- jspsmartupload
- alert
- 上传
 
- 
				
				
				
 
			 
		 
	 
								 
								 
						
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~