C# Uploadify 文件上传组件的使用
一、页面的构建
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 文件上传组件的使用的更多相关文章
- jQuery.uploadify文件上传组件实例讲解
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- vue大文件上传组件选哪个好?
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- Atitit..文件上传组件选型and最佳实践总结(2)----断点续传
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定 ...
- Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4. ...
- Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现
Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现 1. 实现思路:::元插件,元设置... 1 2. 实现流程downzip,unzip,exec 1 3. Zip ...
- Struts2+Uploadify文件上传使用详解
Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...
- 异步文件上传组件 Uploader
Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...
- 多文件上传组件FineUploader使用心得
原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...
随机推荐
- WinForm中DataGridView的使用(五) - 自定义列
DataGridView支持指定DataGridViewImageColumn.DataGridViewButtonColumn等特殊类型的列,加入到Columns中. DataGridViewIma ...
- 细说Mammut大数据系统测试环境Docker迁移之路
欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 最近几个月花了比较多精力在项目的测试环境Docker迁移上,从最初的docker"门外汉"到现在组里的同学(大部分测试及少 ...
- scrapy 爬取天猫商品信息
spider # -*- coding: utf-8 -*- from urllib.parse import urlencode import requests import scrapy impo ...
- struts2的主要工作流程
struts2的框架结构图 struts2的主要工作流程: 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode ...
- Python3之时间模块time & datetime & calendar
一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位 ...
- Java中的Date Time 与SQL Server 2005里的Datetime 之间的交互
Preface Environment:Platform: Windows XPLanguage: Java 1.5IDE: MyEclipse 6.0.1Database: SQL Server 2 ...
- 使用SWig出现调用异常的情况
未经处理的异常: System.TypeInitializationException: "Win32Project1PINVOKE"的 类型初始值设定项引发异常. ---> ...
- kibana安装汉化包
kibana安装汉化包其实很简单!但要找到汉化包可能就很麻烦了.我这里提供了6.2的版本的汉化包!至于能不能在其他版本用,我就没试过了.但6.2的kibana本人亲测.没问题!!!! 下载——解压.这 ...
- ansible基本模块-cron
ansible XXX -m cron -a "name=‘XXX ’ job=‘执行的命令’ minute=XXX " ...
- 使用Swagger生成简单接口文档
使用swagger通过简单的配置可以生成简单的接口文档: 依赖包: // Swagger2 compile 'io.springfox:springfox-swagger2:2.8.0' compil ...