struts2文件上传的采用的三种方式解析
上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。这一过程称为上传。
1 SmartUpload 用的最多的一个组件,已经不再更新了,可以实现上传和下载
3 J2KUpload java2000实现的文件上传组件,全部使用内存,适合多个不超过10M的小文件
1、/** 按copy方式上传 */
public?String?uploadFile(){??? ?????/**?文件的写操作?*/?? ?????BufferedReader?br?=null;??? ?????BufferedWriter?bw?=?null;?????? ?????/**?保存的路径?*/?? ?????String?savepath?=?getSavePath();??? ?????/**?根据保存的路径创建file对象???*/?? ?????File?file?=?new?File(savepath);??? ?????/**?file对象是否存在??*/?? ?????if?(!file.exists())?{?????????????? ?????????/**?创建此文件对象路径??*/?? ?????????file.mkdirs();??? ?????}??? ?????try?{??? ?????????/**???创建一个BufferedReader??对象*/?? ?????????br?=?new?BufferedReader(new?InputStreamReader(new?FileInputStream??? ??? ?(pic)));??????????????? ?????????bw?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream??? ??? ?(file?+?"//"?+?getPicFileName())));??? ???????????????? ?????????//?读取字节??? ?????????char?b[]?=?new?char[1024];??? ?????????int?n?=?0;??? ?????????//?读取操作??? ?????????while?((n?=?br.read(b))?!=?-1)?{??? ?????????????//?写操作??? ?????????????bw.write(b,?0,?n);??? ?????????}??? ?????????//?关闭操作??? ?????????if?(br?!=?null)?{??? ?????????????br.close();??? ?????????}??? ?????????if?(bw?!=?null)?{??? ?????????????bw.close();??? ?????????}??? ?????}?catch?(Exception?e)?{??? ?????????e.printStackTrace();??? ?????}??? ?????return?SUCCESS;??? ?}???引自:http://developer.51cto.com/art/201105/259767.htm