C#+一般处理程序+jquery.uploadify 上传XML文件并插入数据库中
来源:互联网 发布:java桌面开发框架 编辑:程序博客网 时间:2024/04/30 23:32
效果如图:
上传前
上传中
HTML代码:
<div class="widget-content nopadding"> <table class="table table-bordered table-striped"> <tbody> <tr class="odd gradeC"> <td>上传XML列表:</td> <td style="text-align: left"> <div id="fileQueue" class="fileQueue" style="width: 670px; height: 100px;"></div> </td> <td> <input type="file" name="file_upload" id="file_upload" /></td> </tr> <tr class="even gradeX"><td colspan="3"> <p> <input type="button" class="btn btn-info" id="btnUpload" onclick="doUpload()" value="上传" /> <input type="button" class="btn btn-info" id="btnCancelUpload" onclick="$('#file_upload').uploadify('cancel')" value="取消" /> </p> <div id="div_show_files"></div> </td> </tr> </tbody> </table> </div> </div>
JS参照引用:
<script src="assets/js/jquery-1.8.2.min.js"></script> <!--引入uploadify--> <script type="text/Javascript" src="plugins/uploadify/jquery.uploadify.js"></script> <link type="text/css" href="plugins/uploadify/uploadify.css" rel="stylesheet" /> <script type="text/javascript"> $(function () { var guid = '<%=Request["guid"] %>'; var type = '<%=Request["type"] %>'; if (guid == null || guid == "") { guid = newGuid(); } if (type != null) { type = type + '/'; } $('#file_upload').uploadify({ 'swf': 'plugins/uploadify/uploadify.swf', //FLash文件路径 'buttonText': '浏 览', //按钮文本 'uploader': 'uploadhandler.ashx?guid=' + guid, //处理ASHX页面 'formData': { 'folder': 'picture', 'isCover': 1 }, //传参数 'queueID': 'fileQueue', //队列的ID 'queueSizeLimit': 999, //队列最多可上传文件数量,默认为999 'auto': false, //选择文件后是否自动上传,默认为true 'multi': true, //是否为多选,默认为true 'removeCompleted': true, //是否完成后移除序列,默认为true 'fileSizeLimit': '0', //单个文件大小,0为无限制,可接受KB,MB,GB等单位的字符串值 'fileTypeDesc': 'All Files', //文件描述 'fileTypeExts': '*.xml', //上传的文件后缀过滤器 'onQueueComplete': function (queueData) { //所有队列完成后事件 if (queueData.queueLength>0) alert("上传完毕!"); }, 'onError': function (event, queueId, fileObj, errorObj) { alert(errorObj.type + ":" + errorObj.info); }, 'onUploadStart': function (file) { }, 'onUploadSuccess': function (file, data, response) { //一个文件上传成功后的响应事件处理 // var data = $.parseJSON(data);//如果data是json格式 //var errMsg = ""; if ($.parseJSON(data) == 2) { alert("目录UpLoadImg/ChannelTvXML不存在或名称不对!"); return false; } } }); }); function newGuid() { var guid = ""; for (var i = 1; i <= 32; i++) { var n = Math.floor(Math.random() * 16.0).toString(16); guid += n; if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) guid += "-"; } return guid; } //执行上传 function doUpload() { $('#file_upload').uploadify('upload', '*'); } </script>
C# 一般处理程序代码: UploadHandler.ashx
public class UploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Request.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); context.Response.Charset = "UTF-8"; if (context.Request.Files.Count > 0) { #region 获取上传路径 string uploadFolder = GetUploadFolder(); #endregion if (System.IO.Directory.Exists(uploadFolder)) {//如果上传路径存在 HttpPostedFile file = context.Request.Files["Filedata"]; string filePath = Path.Combine(uploadFolder, file.FileName); file.SaveAs(filePath); List<ChannelListInfo> channellist = GetXmlNodeInformation(filePath); using (GoodLookDataContext db = new GoodLookDataContext()) { // Insert this List<> of records using a Bulk Insert//利用BulkCopyToDatabase 批量插入数据库中必须保持channellist和数据库中字段完全一致,大小写,否则报错。 DataTableHelper.BulkCopyToDatabase(channellist, "channeltvlist", db); } SearchDataClass.DeleteDir(filePath); context.Response.Write("0"); } else { context.Response.Write("2"); } } } public bool IsReusable { get { return false; } } private static List<ChannelListInfo> GetXmlNodeInformation(string xmlPath) { List<ChannelListInfo> tvlist = new List<ChannelListInfo>(); try { //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(xmlPath); //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点) var channeltv = rootNode.Element("channel").Attribute("name").Value; tvlist = (from p in rootNode.Descendants("program") orderby p.Element("start").Value ascending select new ChannelListInfo { WeekDate = CaculateWeekDay(DateTime.Parse(p.Element("start").Value).Year, DateTime.Parse(p.Element("start").Value).Month, DateTime.Parse(p.Element("start").Value).Day), ChannelTV = channeltv, ChannelPlayDate=DateTime.Parse(p.Element("start").Value) , ChannelStartDate = DateTime.Parse(p.Element("start").Value), ChannelEndDate = DateTime.Parse(p.Element("end").Value), ChannelName = p.Element("name").Value, ChannelType = p.Element("type").Value, ChannelSummary = p.Element("summary").Value, }).ToList<ChannelListInfo>(); } catch { } return tvlist; } /// 基姆拉尔森计算公式计算日期 /// </summary> /// <param name="y">年</param> /// <param name="m">月</param> /// <param name="d">日</param> /// <returns>星期几</returns> protected static string CaculateWeekDay(int y, int m, int d) { if (m == 1 || m == 2) { m += 12; y--; //把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。 } int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; string weekstr = ""; switch (week) { case 0: weekstr = "星期一"; break; case 1: weekstr = "星期二"; break; case 2: weekstr = "星期三"; break; case 3: weekstr = "星期四"; break; case 4: weekstr = "星期五"; break; case 5: weekstr = "星期六"; break; case 6: weekstr = "星期日"; break; } return weekstr; } /// <summary> /// 获取上传目录 /// </summary> /// <returns></returns> public static string GetUploadFolder() { string rootPath = HttpContext.Current.Server.MapPath("~"); return Path.Combine(rootPath, "UpLoadImg/ChannelTvXML"); } } public class ChannelListInfo { // public string ChannelID { get; set; } public string WeekDate { get; set; } public string ChannelTV { get; set; } public string ChannelName { get; set; } public string ChannelType { get; set; } public string ChannelSummary { get; set; } // public string ChannelImg { get; set; } public DateTime ChannelStartDate { get; set; } public DateTime ChannelEndDate { get; set; } // public DateTime? AddTime { get; set; } public DateTime? ChannelPlayDate { get; set; } public int FatherTvNameID { get; set; } }
XML:格式
<?xml version="1.0" encoding="UTF-8"?><epg> <channel name="BTV-1(高清)"> <program> <start>2016-03-25 00:48:00</start> <end>2016-03-25 00:50:00</end> <name>晚间气象服务</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 00:50:00</start> <end>2016-03-25 00:53:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 00:53:00</start> <end>2016-03-25 01:38:00</end> <name>中国骑兵</name> <type>战争</type> <summary></summary> </program> <program> <start>2016-03-25 01:38:00</start> <end>2016-03-25 01:39:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 01:39:00</start> <end>2016-03-25 02:24:00</end> <name>中国骑兵</name> <type>战争</type> <summary></summary> </program> <program> <start>2016-03-25 02:24:00</start> <end>2016-03-25 02:25:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 02:25:00</start> <end>2016-03-25 03:10:00</end> <name>中国骑兵</name> <type>战争</type> <summary></summary> </program> <program> <start>2016-03-25 03:10:00</start> <end>2016-03-25 03:55:00</end> <name>中国骑兵</name> <type>战争</type> <summary></summary> </program> <program> <start>2016-03-25 03:55:00</start> <end>2016-03-25 04:40:00</end> <name>中国骑兵</name> <type>战争</type> <summary></summary> </program> <program> <start>2016-03-25 04:40:00</start> <end>2016-03-25 04:42:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 04:42:00</start> <end>2016-03-25 05:42:00</end> <name>养生堂</name> <type>健康</type> <summary></summary> </program> <program> <start>2016-03-25 05:42:00</start> <end>2016-03-25 06:00:00</end> <name>法治进行时</name> <type>法制/社会</type> <summary></summary> </program> <program> <start>2016-03-25 06:00:00</start> <end>2016-03-25 06:01:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 06:01:00</start> <end>2016-03-25 06:19:00</end> <name>法治进行时</name> <type>法制/社会</type> <summary></summary> </program> <program> <start>2016-03-25 06:19:00</start> <end>2016-03-25 06:20:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 06:20:00</start> <end>2016-03-25 06:55:00</end> <name>养生堂精编版</name> <type>健康</type> <summary></summary> </program> <program> <start>2016-03-25 06:55:00</start> <end>2016-03-25 06:57:00</end> <name>早间气象服务</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 06:57:00</start> <end>2016-03-25 07:00:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 07:00:00</start> <end>2016-03-25 09:00:00</end> <name>北京您早</name> <type>时政</type> <summary></summary> </program> <program> <start>2016-03-25 09:00:00</start> <end>2016-03-25 09:06:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 09:06:00</start> <end>2016-03-25 10:11:00</end> <name>精品栏目荟萃</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 10:11:00</start> <end>2016-03-25 10:17:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 10:17:00</start> <end>2016-03-25 11:01:00</end> <name>芈月传</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 11:01:00</start> <end>2016-03-25 11:09:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 11:09:00</start> <end>2016-03-25 11:54:00</end> <name>芈月传</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 11:54:00</start> <end>2016-03-25 12:00:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 12:00:00</start> <end>2016-03-25 12:58:00</end> <name>特别关注</name> <type>法制/社会</type> <summary></summary> </program> <program> <start>2016-03-25 12:58:00</start> <end>2016-03-25 13:00:00</end> <name>午间气象服务</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 13:00:00</start> <end>2016-03-25 13:08:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 13:08:00</start> <end>2016-03-25 13:53:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 13:53:00</start> <end>2016-03-25 14:01:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 14:01:00</start> <end>2016-03-25 14:44:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 14:44:00</start> <end>2016-03-25 14:52:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 14:52:00</start> <end>2016-03-25 15:35:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 15:35:00</start> <end>2016-03-25 15:44:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 15:44:00</start> <end>2016-03-25 16:27:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 16:27:00</start> <end>2016-03-25 16:35:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 16:35:00</start> <end>2016-03-25 17:20:00</end> <name>暖暖的味道精华版</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 17:20:00</start> <end>2016-03-25 17:25:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 17:25:00</start> <end>2016-03-25 18:25:00</end> <name>养生堂</name> <type>健康</type> <summary></summary> </program> <program> <start>2016-03-25 18:25:00</start> <end>2016-03-25 18:30:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 18:30:00</start> <end>2016-03-25 18:55:00</end> <name>北京新闻</name> <type>时政</type> <summary></summary> </program> <program> <start>2016-03-25 18:55:00</start> <end>2016-03-25 19:00:00</end> <name>天气预报</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 19:00:00</start> <end>2016-03-25 19:30:00</end> <name>转播中央台新闻联播</name> <type>时政</type> <summary></summary> </program> <program> <start>2016-03-25 19:30:00</start> <end>2016-03-25 19:33:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 19:33:00</start> <end>2016-03-25 20:18:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 20:18:00</start> <end>2016-03-25 20:22:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 20:22:00</start> <end>2016-03-25 21:07:00</end> <name>猎人</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 21:07:00</start> <end>2016-03-25 21:09:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 21:09:00</start> <end>2016-03-25 21:11:00</end> <name>大剧抢先看</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 21:11:00</start> <end>2016-03-25 21:12:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 21:12:00</start> <end>2016-03-25 22:42:00</end> <name>二胎时代</name> <type></type> <summary></summary> </program> <program> <start>2016-03-25 22:42:00</start> <end>2016-03-25 22:46:00</end> <name>广宣时段</name> <type>生活服务</type> <summary></summary> </program> <program> <start>2016-03-25 22:46:00</start> <end>2016-03-26 00:16:00</end> <name>二胎时代</name> <type></type> <summary></summary> </program> </channel></epg>
0 0
- C#+一般处理程序+jquery.uploadify 上传XML文件并插入数据库中
- C# 一般处理程序+jquery.uploadify.js 多文件上传图片/文件
- Jquery中uploadify上传文件
- Jquery uploadify 上传文件 springmvc 接收处理
- 上传文件并插入数据库中
- jquery uploadify 上传文件
- 文件上传(一般处理程序+html)
- JQuery文件上传插件uploadify
- asp jquery uploadify 文件上传
- jquery+uploadify+springmvc文件上传
- JQuery文件上传插件Uploadify
- jquery文件上传控件 Uploadify
- 使用Jquery uploadify上传文件
- jquery文件上传控件 Uploadify
- jquery uploadify 文件上传功能
- jquery文件上传控件 Uploadify
- jquery文件上传控件 Uploadify
- jquery文件上传控件 Uploadify
- MAC 如何修改host
- html <a>标签属性总结
- 包贝尔婚礼事件中,有哪些嘈可以吐?
- 一道dfs题目
- C# : 读取简单的XML文件
- C#+一般处理程序+jquery.uploadify 上传XML文件并插入数据库中
- wordpress 移动客户端(安卓,ios)
- js--引用类型Array--1.Array的基础知识
- Linux rpm 命令参数使用详解[介绍和应用]
- java热加载技术hotswap
- 软件设计
- 1142: 【C语言训练】立方和不等式
- 第六周项目一-分数类的雏形(1)
- PHPExcel导出