/**
* 通用附件上传和初始化方法
* */
$(function() {
/*新增页面图片上传代码初始化*/
/** 1)在新增业务添加addPageUpload容器
* 2)上传图片时页面没有对应业务的数据,先给附件生产一个临时的uuid
* 3)保存业务单据后,需要将附件的临时id,更新为业务单据的id
*/
if($("#addPageUpload")&&$("#addPageUpload").length>0){
var $receiptsInfoId=$("<input/>").attr({"type":"hidden","id":"receiptsInfoId","name":"receiptsInfoId"}).val(Math.uuidFast());
var $file_upload=$("<input/>").attr({"id":"file_upload","name":"file_upload","type":"file","multiple":"true"});
var $thead=$("<thead><tr><th>附件名称</th><th>上传时间</th><th>操作</th></tr></thead>");
var $tbody=$("<tbody id='fileList'></tbody>");
var $table=$("<table/>").attr({"id":"tableId","class":"table table-bordered"}).append($thead).append($tbody);
$("#addPageUpload").empty().append($receiptsInfoId).append($file_upload).append($table);
}
/*编辑页面图片上传代码初始化*/
/**
* 1)编辑页面有要<input type='hidden' id='item_id' name="id" value='........'>
* 2)定义id=editPageUpload的容器
* 3)该方法会自动加载对应单据的附件列表(可删除可添加)
*/
if($("#editPageUpload")&&$("#editPageUpload").length>0){
var $receiptsInfoId=$("<input/>").attr({"type":"hidden","id":"receiptsInfoId","name":"receiptsInfoId"}).val($("#item_id").val());
var $file_upload=$("<input/>").attr({"id":"file_upload","name":"file_upload","type":"file","multiple":"true"});
var $thead=$("<thead><tr><th>附件名称</th><th>上传时间</th><th>操作</th></tr></thead>");
var $tbody=$("<tbody id='fileList'></tbody>");
var $table=$("<table/>").attr({"id":"tableId","class":"table table-bordered"}).append($thead).append($tbody);
//获取附件列表,可编辑
$.ajax({
url: basePath+'jsp/fileInfo/findfiles.action',
data:'receiptsInfoId='+$("#item_id").val(),
async:false,
dataType:'json',
success: function(data){
if(data!='none'){
$.each(data,function(index,fileinfo){
var $tdFileName=$("<td/>").text(fileinfo.fileName);
var $tdCreated=$("<td/>").text(fileinfo.remark);
var $ADownload=$("<a href=\"javascript:void(0);\" onclick=\"downloadFile('"+fileinfo.url+"', '"+fileinfo.fileName+"', '"+fileinfo.name+"')\" >下载</a>");
var $ADel=" <a onclick=\"file_del('"+fileinfo.id+"')\" href=\"javascript:void(0);\">删除</a>";
var $divOpt=$("<div/>").attr({"class":"tools-operations"}).append($ADownload).append($ADel);
var $tdOpt=$("<td/>").append($divOpt);
var $tr=$("<tr/>").attr({"id":fileinfo.id}).append($tdFileName).append($tdCreated).append($tdOpt);
$tbody.append($tr);
});
}
}
});
$("#editPageUpload").empty().append($receiptsInfoId).append($file_upload).append($table);
}
/**
* 1)查看页面有要<input type='hidden' id='item_id' name="id" value='........'>
* 2)定义id=viewPageUpload的容器
* 3)该方法会自动加载对应单据的附件列表(只读)
*/
if($("#viewPageUpload")&&$("#viewPageUpload").length>0){
var $thead=$("<thead><tr><th>附件名称</th><th>上传时间</th><th>操作</th></tr></thead>");
var $tbody=$("<tbody id='fileList'></tbody>");
var $table=$("<table/>").attr({"id":"tableId","class":"table table-bordered"}).append($thead).append($tbody);
//获取附件列表,可编辑
$.ajax({
url: basePath+'jsp/fileInfo/findfiles.action',
data:'receiptsInfoId='+$("#item_id").val(),
async:false,
dataType:'json',
success: function(data){
if(data!='none'){
$.each(data,function(index,fileinfo){
var $tdFileName=$("<td/>").text(fileinfo.fileName);
var $tdCreated=$("<td/>").text(fileinfo.remark);
var $ADownload=$("<a href=\"javascript:void(0);\" onclick=\"downloadFile('"+fileinfo.url+"', '"+fileinfo.fileName+"', '"+fileinfo.name+"')\" >下载</a>");
var $divOpt=$("<div/>").attr({"class":"tools-operations"}).append($ADownload);
var $tdOpt=$("<td/>").append($divOpt);
var $tr=$("<tr/>").attr({"id":fileinfo.id}).append($tdFileName).append($tdCreated).append($tdOpt);
$tbody.append($tr);
});
}else{
var $tr=$("<tr class='no_data'><td colspan='3'>没有上传过附件</td></tr>");
$tbody.append($tr);
}
}
});
$("#viewPageUpload").empty().append($table);
}
/**
*基于uploadify 附件上传方法
*/
if($("#file_upload")&&$("#file_upload").length>0){
$('#file_upload').uploadify({
'buttonText' : '附件上传',
'buttonImage' : basePath+'assets/uploadify/browse-btn.png',
'swf' : basePath+'assets/uploadify/uploadify.swf',
'uploader' : basePath+'servlet/fileInfoUpload.gho',
'formData' : {'receiptsInfoId':''},
'method' : 'post',
'height': 30,
'width': 120,
'onUploadStart' : function(file) {
var name=$('#receiptsInfoId').val();
$("#file_upload").uploadify("settings", "formData", {'receiptsInfoId':name});
},
'onUploadSuccess' : function(file, data, response) {
var jsonData=jQuery.parseJSON(data);
$("#fileList").append("<tr id='"+jsonData.id+"'><td>"+jsonData.fileName+"</td><td>"+jsonData.created+"</td><td><div class='tools-operations'><a href=\"#\" onclick=\"downloadFile('"+jsonData.url+"', '"+jsonData.fileName+"', '"+jsonData.name+"')\" >下载</a> <a onclick=\"file_del('"+jsonData.id+"')\" href=\"javascript:void(0);\">删除</a></div></td></tr>");
$("#"+file.id).remove();
}
});
}
});
/**附件通用下载方法*/
function downloadFile(url,fileName,name){
//创建动态表单,将这些数据发送到后台
var $form=$("<form/>").attr({"id":"fileForm","name":"fileForm","method":"post"});
var timestamp = (new Date()).valueOf();
$form.attr("action",basePath+"servlet/fileInfoDownload.gho?timestamp=" + timestamp);
//创建文本域传递要查询的内容
var $path=$("<input/>").attr({"type":"hidden","name":"path","id":"path"}).val(url);
var $name=$("<input/>").attr({"type":"hidden","name":"name","id":"name"}).val(name);
var $filename=$("<input/>").attr({"type":"hidden","name":"filename","id":"filename"}).val(fileName);
//将文本域添加到表单上
$form.append($path).append($name).append($filename);
//提交表单
$("body").append($form);//必须追加到body上否则在ie下不能提交
document.getElementById("fileForm").submit();
}
/**通用附件删除方法*/
function file_del(_id){
showMsgConfirmWithIcon("操作提示","您确认要删除该附件吗?","附件一经删除不可恢复!",function(opt){
if(opt){
$.ajax({
type:'post',
url:basePath+'jsp/fileInfo/del.action',
data:{id:_id},
dataType:'json',
success:function(msg){
if(msg.flag=='ok'){
//window.location.reload(true);
$("#"+_id).remove();
}else{
showMsgAlert("提示信息",msg.msg);
}
}
});
}else{
}
});
}
基于基于uploadify 附件上传方法的封装
原创
©著作权归作者所有:来自51CTO博客作者yxkong的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
R语言基于Excel数据绘制条形图、柱状图的方法
本文介绍基于R语言中的readxl包与ggplot2包,读取Excel表格文件数据,并绘制具有多个系列的柱状图、条形图的方法~
R语言 表格数据 直方图 柱状图 数据可视化 -
JQuery Uploadify 基于JSP的无刷新上传实例:
1、JQuery Uploadify 基于JSP的无刷新上传实例:http:
javascript java ViewUI struts .net -
kettle实现基于数据库记录的文件附件上传
背景说明: 某b/s系统,支持用户上传图片文件等附件文件,上传后的文件存到了某一个web服务器的特定路径下,然后数据库的表里面记录
kettle上传文件 kettle文件上传 kettle上传附件 上传 数据库表 -
uploadify上传控件
下载控件:uploadify 分为2种,选择Flash Version版本地址:http://www.uploadify.co.uploadify({
uploadify MyStream HttpPostedFile 上传 html -
uploadify上传带参数及接收参数的方法
参数主要在:formData: "ContractCode":"20170222","UserId":"20125" 位置 接收参数方法:
json jquery 上传文件 uploadify