1、上传文件
1.1、struts2上传文件:
<!-- 上传文件需要配置如下两个常量,10M上限,临时目录/tmp ,windows下我用的时候出现在d:\\tmp目录下-->
<constant name="struts.multipart.maxSize" value="10701096" />
<constant name="struts.multipart.saveDir" value="/tmp" />
页面:<input id="files" name="file" type="file" value="浏览" />
Action: private File file;
上传上去后,从临时目录中(如upload_baf5be8a_fab9_4f76_be4f_464876b5311d_00000005.tmp)读byte[],写成目标后缀的文件。 或者FileUtils.copyFile(file, destFile);
通过flash上传
http://www.uploadify.com/demos/ java端还得从临时文件复制到目的文件。
html: <script type="text/javascript" src="assets/js/jquery.js"></script> <script src="js/uploadify/jquery.uploadify.min.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="js/uploadify/uploadify.css"> <input id="file_upload" type="file"/> js: <script> $(function() { $("#file_upload").uploadify({ //浏览按钮显示文字 'buttonText' : '选择文件', //flash swf : 'js/uploadify/uploadify.swf', //上传处理程序 uploader : 'upload.do?tokenCode=$!tokenCode', //服务器端脚本使用的文件对象的名称。java:private File file 'fileObjName' : 'file', //上传文件的大小限制 ,如:1024kb ,1mb 'fileSizeLimit' : '1mb', //允许上传的文件后缀 'fileTypeExts' : '*.jpg;*.jpeg;*.png', //开启调试 'debug' : true, //是否自动上传,默认为true 'auto':true, //超时时间 'successTimeout':99999, //是否可以选择多个文件上传 'multi' : false, //浏览按钮的宽度 width : 60, //浏览按钮的高度 height : 30, //一次可选择队列数量 'queueSizeLimit' : 2, //上传总数量 'uploadLimit':3, //传到后台的参数 'formData' : {'type' : '2','userid':'111'}, //返回一个错误,选择文件的时候触发 'onSelectError':function(file, errorCode, errorMsg){ switch(errorCode) { //当'multi' : true,一次选择超过queueSizeLimit 或者 多次上传总共超过uploadLimit时触发 case -100: this.queueData.errorMsg="上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!"; break; case -110: this.queueData.errorMsg="文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!" break; case -120: this.queueData.errorMsg="文件 ["+file.name+"] 大小异常!"; break; case -130: this.queueData.errorMsg="文件 ["+file.name+"] 类型不正确!"; break; } }, //检测FLASH失败调用 'onFallback':function(){ alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。"); }, //上传到服务器,服务器返回相应信息到data里 'onUploadSuccess' : function(file, data, response){ data=eval("("+data+")"); $("#modelPic").val(data.url); } }); }); </script> Action: //属性都有set get方法 private File file;//上传文件 'fileObjName' : 'file' private String fileFileName;//上传文件的文件名,名字以file开头+FileName private String type; //'formData' : {'type' : '$!type','userid':'30'}, private String url; @Action(value = "upload", results = { @Result(name = "success", type = "json") }) public String upload() { url ="img/"+createDestName(fileFileName); File destFile = new File(Constants.RESOURCE_UPLOADFILE_PATH + url); try { FileUtils.copyFile(file, destFile); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 根据aa.jpg 创建 /yyyy/MM/dd/id.jpg * @param orginame * @return */ public String createDestName(String orginame){ String destName=""; destName=new SimpleDateFormat("/yyyy/MM/dd/").format(new Date()); destName+=UUID.randomUUID().toString().replaceAll("-", ""); destName+=orginame.substring(orginame.lastIndexOf(".")); return destName; } 可以参考 Uploadify3.1与Uploadify2.1.4属性详细说明 :http://blog.csdn.net/lisa890608/article/details/17608321
2、存储文件
2.1、存储到一个目录下
2.2、分布式存储到fastdfs中。
相关推荐
ASP图片上传组件 图片批量上传控件 图片上传插件
项目中使用 element组件,而其图片上传组件无法达到实现图片质量压缩的需求,需要再次封装,可以对上传的较大的图片质量进行压缩处理等;部分代码,仅供参考使用!
此实例是:从应用服务器将图片上传到图片服务器的某一个指定的IIS目录中 使用技术:WebClient、异步上传 流程: 1、在图片服务器上发布一个IIS的项目,项目中包含:图片存放目录、ASHX文件 2、在应用服务器上发布一...
uniapp 多张图片上传示例 VUE图片上传案例 前端图片上传源码 uniapp图片上传源码,很不错的例子
php 图片上传 模块
图片上传,自己写的,大家可以查考一下,一个小demo
图片上传压缩处理
多图片上传
JS+asp.net+图片上传+预览+支持多上传+上传前预览
图片上传本地预览插件
用于图片上传至服务器下的文件夹里面,并且把文件路径加入数据库,数据库采用MSSQL2000
swfupload是比较著名的图片上传工具,可以多图片上传,在一次开发中偶遇uploadify,比swfupload还强大好用,选项也很丰富,功能也很强大,再配合ajax技术,可以把多图片上传发挥到极致,我曾用它做多图片上传,上传...
用于winform的图片上传下载,带图片预览,源码项目
swfupload图片上传插件制作图片批量上传和单个图片上传代码swfupload图片上传插件制作图片批量上传和单个图片上传代码
iOS图片上传到服务器
Flex4.6+java+servlet上传图片例子+图片上传预览
C# 导入Excel读取图片上传
利用ajaxupload组件实现的图片上传 1、在部署该工程时,要在tomcat/webapps/对应的工程下建upload/good目录; 2、在该工程中,点击一次上传图片按钮,就执行一次后台操作,然后将图片的路径保存在一个input的隐藏域...
ASP图片上传源代码ASP图片上传源代码
该资源为图片上传功能。该代码完善了图片上传的复杂内容,很不错