SSH实现文件上传

2019-04-15 15:34发布

1.首先应配置tomcate属性,在/tomcate/conf/service.xml里配置如下:           2.配置完 .xml文件后,我们需要创建相关的文件。如上1中的文件路径。 E:/tomcat-file/linkms/upload/webImages. tomcate在加载时将会自动获取该目录下的所有图片/文件。 3.配置SSH框架的文件属性。如下: (1)创建一个upload.property. (2)在.property里配置: ueditor.upLoadUrl=E:/tomcat-file/linkms/file_img
EXCEL2003_MAX_SIZE_LIMIT=5242880
localUri = E:/tomcat-file/linkms/upload
fileUri =/webImages
     //这里使用的是百度编辑器的文件图片上传(设置本地路径,文件名和最大上传文件大小) 4.编写上传文件的action(注这里不讨论model模型的上传文件类,在service上主要是对数据库的增加操作,只需将上传文件的相对路径存到数据库即可!) /** * 设置图片logo上传 */ public String uploadPic(){ String imgUrl=""; try { String localUri = ApplicationProperties.getMessage("localUri"); String fileUri = ApplicationProperties.getMessage("fileUri"); if(pic !=null && picFileName != null){//上传单张图片 imgUrl=HttpFileUtil.upLoadFileToURI(pic,picFileName, localUri, fileUri); webObj.setLogo(imgUrl); }else if (pics != null && picsFileName != null) {//上传多张图片 for (int i = 0; i < pics.size(); i++) { imgUrl+=HttpFileUtil.upLoadFileToURI(pics.get(i),picsFileName.get(i), localUri, fileUri); } webObj.setLogo(imgUrl); } } catch (Exception e) { e.printStackTrace(); } if(imgUrl.indexOf(",",imgUrl.length()-1)>0){//判断是否是imgurl有多余的,分割符号 imgUrl=imgUrl.substring(0,imgUrl.length()-1);//去掉多余的符号 } Map jsonMap = new HashMap(); jsonMap.put("imgUrl", imgUrl); setJsonResult(JSONObject.fromObject(jsonMap)); return SUCCESS; } private File pic; private String picFileName; public File getPic() { return pic; } public void setPic(File pic) { this.pic = pic; } public String getPicFileName() { return picFileName; } public void setPicFileName(String picFileName) { this.picFileName = picFileName; }

 5.前端的显示 logo var select = $('#datagrid_ui_table').datagrid('getSelected'); $("#logoPic").attr("src","." + select.logo); //文件上传同时把图片的url赋值给webObj.url function upLogoPic() { $("#addForm").attr("enctype", "multipart/form-data"); $("#addForm").form("submit", { url : 'companyInfoPort!uploadPic.action', onSubmit : function() { if ($("#addForm").form("validate"))//校验,显示上传 { $.messager.progress({ text : "上传中" }); } return $("#addForm").form("validate"); }, success : function(data) { var dataObj = eval("(" + data + ")");//转换为json对象webObj.updateDate //赋值给图片url,页面进行了隐藏处 $('#itemlogo').val(dataObj.imgUrl); $.messager.progress('close'); } }); }
6.在页面上传文件时,浏览器还会弹出一个提示是否下载的提示框,如果我们不想每次下载的时候都出现这个提示框,我们可以在struts中配置如下: text/html (使用的是jquery - easyui 技术)。