Jfinal+DWZ使用uploadify插件实现文件上传

upload.jsp


var htmlHead="<dl><dt style='width: 120px; text-align: right;'>已上传的文件:</dt><dd id='fileHtmlBody'>";
var htmlBody="";
var htmlFoot="</dd></dl>";
function onComplete(event, queueId, fileObj, response, data){
	var obj = eval( "(" + response + ")" );//转换为JSON对象
	htmlBody+="<div id='file_"+obj.id+"' style='height:25px;line-height:25px;'>";
	htmlBody+="<span style='display:none'><input type='checkbox' class='uploaded' name='fid' value='"+obj.id+"' checked/></span>";
	htmlBody+="<a class='btnAttach'></a><a title='点击右键另存为' target='_blank' href='"+obj.fileurl+"'>"
				+obj.filename+"</a> ("+obj.filesize+")<a href='javascript:deleteFile("+obj.id
				+");'><img src='styles/dwz/uploadify/cancel.png' height='13' align='middle'/></a>";
	htmlBody+="</div>";
	$("#fileList").html(htmlHead+htmlBody+htmlFoot);
}
//删除文件ajax请求
function deleteFile(id){
	$("#file_"+id).load("Main/post/deletefile/"+id);
	$("#file_"+id).remove();
	htmlBody=$("#fileHtmlBody").html();
}
//close前删除已上传的文件
function deleteUploaded(){
	$(".uploaded").each(function(){
		var fileid = $(this).val();
		deleteFile(fileid);
	});
}

------------------------------------------------------------------------

<input id="testFileInput" type="file" name="file" 
	uploader="styles/dwz/uploadify/scripts/uploadify.swf"	//必需,uploadify使用的插件
	cancelImg="styles/dwz/uploadify/cancel.png" 
	script="Main/post/uploadfile"	//必需,上传的服务端入口
	fileQueue="fileQueue" //对应下方的div,用来显示上传进度
	auto="true" 
	onComplete="onComplete"/> //单个文件上传完成执行的js函数
<div id="fileQueue" ></div>
<div class="divider"></div>
<div id="fileList" ></div> //此块用于显示已上传完成的文件


------------------------------------------------------

Post.java

public void uploadfile(){
		String saveDirectory = JFWebConfig.saveDirectory + "download";
		int maxPostSize = JFWebConfig.maxPostSize;		//1024*1024

		UploadFile file = getFile("file", saveDirectory, maxPostSize);
		String fileName = file.getFileName();
		String name=fileName.substring(0,fileName.lastIndexOf('.'));
		String filetype = fileName.substring(fileName.lastIndexOf('.') + 1);
		String filesize = FileUtils.getFileSize(file.getFile().length());
		String fileurl = "upload/" + saveDirectory + "/" + fileName;
		Tab_Downloadfile df = new Tab_Downloadfile();
		df.set("filename", name);
		df.set("fileurl", fileurl);
		df.set("filesize", filesize);
		df.set("filetype", filetype);
		if(df.save()){
			Tab_Downloadfile lastfile = Tab_Downloadfile.dao.getLastSave();
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("id", lastfile.getInt("id"));
			map.put("filename", lastfile.getStr("filename"));
			map.put("fileurl", lastfile.getStr("fileurl"));
			map.put("filesize", lastfile.getStr("filesize"));
			renderJson(map);
		}else{
			renderJson("{\"statusCode\":\"300\",\"message\":\"文件存储出错!\"}");
		}
	}

/**删除文件*/
	public void deletefile(){
		int id = getParaToInt(0);
		Tab_Downloadfile df = Tab_Downloadfile.dao.findById(id);
		if(df!=null){
			try {
				File file = new File(PathKit.getWebRootPath() + "/" + df.getStr("fileurl"));
				if (file.exists()) {
					file.delete();
				}
				df.delete();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值