一、页面的构建

1、要引用的JS和CSS

<link href="../css/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="../js/jquery-ui.js" type="text/javascript"></script>
<script src="../js/chosen.jquery.min.js" type="text/javascript"></script>
<link href="../css/uploadify.css" rel="stylesheet" type="text/css" />
<script src="../js/swfobject.js" type="text/javascript"></script>
<script src="../js/jquery.uploadify.v2.1.4.min.js" type="text/javascript"></script>

2、页面上的div容器,这里我是作为表格的一行

 <tr id="attachment">
<td>上传附件:</td>
<td style="text-align: left">
<div id='fileDiv'>
</div>
<div class='uploadifyDiv'>
<div id="fileQueue">
</div>
<input type="file" name="uploadify" id="uploadify" />
<span class="inputMesg">考察和培训必须上传备案表</span>
</div>
</td>
</tr>

3、在js的入口初始化这个组件

$(function () {
initUploadify("uploadify", "fileQueue");
});
function initUploadify(id, queryId) {
$("#" + id).uploadify({
'uploader': '../js/uploadify.swf',
'script': '../UploadHandler.ashx',
'cancelImg': '../images/cancel.png',
'folder': planUrl + new Date().getFullYear().toString(),
'queueID': queryId,
'auto': true,
'multi': false,
'buttonText': escape('select....'),
'buttonImg': '../images/upload.png',
'wmode': 'transparent',
'fileSizeLimit': ,
'removeCompleted': false,
'onUploadError': function (event, queueID, fileObj) {
alert("文件:" + fileObj.name + "上传失败");
},
'onComplete': function (event, queueID, fileObj, response, data) { //上传成功执行
if (response != "") {
$("#<%=hfFiles.ClientID %>").val(response);
//ShowFiles($j("#fileDiv2"), queueID, eaUrl + new Date().getFullYear().toString());
}
}
});
}

4、显示已上传的文件,并给每个文件增加删除操作

function ShowFiles(div, files, dir, id) {
//eaUrl = ".." + eaUrl.substring(1);
var html;
var year = dir;
var path = planUrl + dir;
html ='<table style="border: 1px; text-align:left; width: 95%; height: 10%; ">';
html += '<tr style="border: solid 1px #e8eef4; background-color:#def2fb"><td style ="width:200px;">文件名</td><td style ="width:80px;">操作</td></tr >';
var fileArry = files.split('|');
for (var i = ; i < fileArry.length; i++) {
if (fileArry[i] == "")
continue;
var filename = fileArry[i];
html += '<tr><td><a style="white-space:nowrap;" href="' + encodeURI(path + '/' + fileArry[i]) + '" target="_blank" >' + fileArry[i] + '</a></td> <td><a href="#" target="_self" id="file_' + i + '"> 删除</a></td></tr>'; }
html += '</table>';
div.html(html);
for (var i = ; i < fileArry.length; i++) {
if (fileArry[i] == "")
continue;
var filename = fileArry[i];
var fileId = i;
$j("#file_" + fileId).click(function () {
deleteFile(id, filename, path, div[].id);
});
} }

5、删除文件

 function deleteFile(id, fileName, dir, divId) {

            var rep = confirm("您确定要删除(" + fileName.substr(, fileName.length - ) + ")文件吗?");
if (rep) {
var deleteFile =OilDigital.CGGL.Web.PlanProcess.DeletePlanPersonFile(id, fileName, dir);
if (deleteFile.error != null) {
alert(deleteFile.error.Message);
return;
}
<%-- $j("#<%=hfFiles.ClientID %>").val("");
$j("#" + divId + "").html("");
ShowFiles($j("#" + divId + ""), files.value, dir, id);--%>
$j("#<%=hfFiles.ClientID %>").val("");
$j(".uploadifyDiv").show();
$j("#fileDiv").hide();
}
}

注意:以上的过程我在实施过程中遇到几个问题

1、删除文件的方法无法调用,循环增加的click方法无效,试试下面这样增加click方法吧

html += '<tr><td><a style="white-space:nowrap;"  href="' + encodeURI(path + '/' + fileArry[i]) + '" target="_blank" >' + fileArry[i] + '</a></td> <td><a href="#" target="_self" id="file_' + i + '" onclick="deleteFile(\'' + id + '\',\'' + filename + '\',\'' + path + '\',\'' + div[].id + '\')"> 删除</a></td></tr>';

2、如果这个上传控件是在模态窗口中打开的那上传路径'script': '../UploadHandler.ashx'是有问题的,我建议不用模态窗口,用window.open或者是jquery的对话窗

C# Uploadify 文件上传组件的使用的更多相关文章

  1. jQuery.uploadify文件上传组件实例讲解

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  2. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  3. vue大文件上传组件选哪个好?

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...

  4. Atitit..文件上传组件选型and最佳实践总结(2)----断点续传

    Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定 ...

  5. Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP

    Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4.  ...

  6. Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现

    Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现 1. 实现思路:::元插件,元设置... 1 2. 实现流程downzip,unzip,exec 1 3. Zip  ...

  7. Struts2+Uploadify文件上传使用详解

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...

  8. 异步文件上传组件 Uploader

    Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...

  9. 多文件上传组件FineUploader使用心得

    原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...

随机推荐

  1. 使用django进行发送 邮件

    我们来看一下 django发送 邮件的整个流程 第一步:例先去 网易163注册账号并激活发邮件功能 把授权码进行 开启 来到我们的项目setting中进行 一个配置: # 邮箱的配置信息 EMAIL_ ...

  2. 在 MVC 中使用 ninject Lazy Load的一个想法

    这这里先声明一下,引用了一个 (http://www.edcourtenay.co.uk/musings-of-an-idiot/2012/11/23/lazy-binding-with-ninjec ...

  3. mysql数据库怎么使用,mysql的使用方法

    https://jingyan.baidu.com/article/5d368d1ec069c13f61c05742.html 数据库的开启与关闭: https://blog.csdn.net/u01 ...

  4. Spring Eureka的使用入门--服务端与客户端

    接上篇: Eureka作为注册中心,连接服务端与客户端: 服务端: 依赖包: apply plugin: 'org.springframework.boot' apply plugin: 'io.sp ...

  5. mysql 查询库中有几张表

    SELECT COUNT(*) TABLES, table_schemaFROM information_schema.TABLESWHERE table_schema = '999*999' 999 ...

  6. C++_类和动态内存分配2-改进后的String类

    添加前面介绍过的复制构造函数和赋值运算符,使类能够正确管理类对象使用的内存. 知道对象何时被创建和释放. =================================== 修订后的默认构造函数 ...

  7. 【算法笔记】B1027 打印沙漏

    1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇 ...

  8. CF F - Tree with Maximum Cost (树形DP)给出你一颗带点权的树,dist(i, j)的值为节点i到j的距离乘上节点j的权值,让你任意找一个节点v,使得dist(v, i) (1 < i < n)的和最大。输出最大的值。

    题目意思: 给出你一颗带点权的树,dist(i, j)的值为节点i到j的距离乘上节点j的权值,让你任意找一个节点v,使得dist(v, i) (1 < i < n)的和最大.输出最大的值. ...

  9. 认识CSS中css背景样式设置

    前端之HTML,CSS(五) CSS CSS背景 CSS可以添加背景颜色和背景图片,也可以对图片进行设置.设置的样式有: background-color 背景颜色 background-image ...

  10. fixed

    之前我们见的fixed就是固定在低端.后来我遇到一个问题 如果  这样写: div{ position: fixed; left: 0; bottom: 0; } 内容吧div撑开,有多少算多少 di ...