成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jquery插件uploadify實現帶進度條的文件批量上傳
全站頭部文字 我要出現在這里
jquery插件uploadify實現帶進度條的文件批量上傳 611 2024-03-17   

有時項目中需要一個文件批量上傳功能時,個人認為uploadify是快速簡便的解決方案,分享給大家供大家參考,具體如下

先上效果圖:

查看圖片

查看圖片

具體代碼如下:

在頁面中如下

查看圖片

完整頁面代碼

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title>文件批量上傳Demo</title>
 <引入Jquery-->
 <script src="http://www.gimoo.net/t/1904/js/jquery-1.11.3.min.js"></script>
 <引入uploadify-->
 <script type="text/javascript" src="http://www.gimoo.net/t/1904/uploadify/jquery.uploadify.js"></script>
 <link type="text/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': 'uploadify/uploadify.swf',    //FLash文件路徑
    'buttonText': '瀏 覽',      //按鈕文本
    'uploader': 'uploadhandler.ashx?guid=' + guid, //處理ASHX頁面
    'formData': { 'folder': 'picture', 'isCover': 1 },   //傳參數
    'queueID': 'fileQueue',      //隊列的ID
    'queueSizeLimit': 10,       //隊列最多可上傳文件數量,默認為999
    'auto': false,         //選擇文件后是否自動上傳,默認為true
    'multi': true,         //是否為多選,默認為true
    'removeCompleted': true,      //是否完成后移除序列,默認為true
    'fileSizeLimit': '0',       //單個文件大小,0為無限制,可接受KB,MB,GB等單位的字符串值
    'fileTypeDesc': 'All Files',     //文件描述
    'fileTypeExts': '*.*',       //上傳的文件后綴過濾器
    'onQueueComplete': function (queueData) {  //所有隊列完成后事件
     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 = "";
    }

   });
  });

  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>

</head>
<body>
 <form id="form1" runat="server" enctype="multipart/form-data">
  <div id="fileQueue" class="fileQueue"></div>
  <div>
   <input type="file" name="file_upload" id="file_upload" />
   <p>
    <input type="button" class="shortbutton" id="btnUpload" onclick="doUpload()" value="上傳" />
        
    <input type="button" class="shortbutton" id="btnCancelUpload" onclick="$('#file_upload').uploadify('cancel')" value="取消" />
   </p>
   <div id="div_show_files"></div>
  </div>
 </form>
</body>
</html>

UploadHandler.ashx代碼:

using System;
using System.Web;
using System.IO;

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);
    context.Response.Write("0");
   }
   else
   {
    context.Response.Write("2");
   }
  }
 }
 
 public bool IsReusable {
  get {
   return false;
  }
 }

 /// <summary>
 /// 返回不帶后綴的文件名
 /// </summary>
 /// <param name="fileName"></param>
 /// <returns></returns>
 public static string GetFirstFileName(string fileName)
 {
  return Path.GetFileNameWithoutExtension(fileName);
 }

 /// <summary>
 /// 獲取上傳目錄
 /// </summary>
 /// <returns></returns>
 public static string GetUploadFolder()
 {
  string rootPath = HttpContext.Current.Server.MapPath("~");
  return Path.Combine(rootPath, "test");
 }

}

文件上傳.NET默認有大小限制,像IIS限制的30M默認請求大小。如果不想修改IIS,又想突破這個大小的限制,比如上傳1GB大小的文件。

這是修改Web.config即可實現。

<?xml version="1.0" encoding="utf-8"?>

<
 -->

<configuration>

 <system.web>
  <compilation debug="true" targetFramework="4.0" />
  <httpRuntime maxRequestLength="1073741824"/>
 </system.web>

 <用于設置文件上傳的最大允許大小(單位:bytes)-->
 <system.webServer>
  <security>
  <requestFiltering>
   <修改服務器允許最大長度(1GB)-->
   <requestLimits maxAllowedContentLength="1073741824"/>
  </requestFiltering>
  </security>
 </system.webServer>
 
</configuration>

希望本文所述對大家學習javascript程序設計有所幫助。



主站蜘蛛池模板: 湿身美女| 安浦清子| 小丑回魂1| 玛丽·杜布瓦| 陈烨个人资料简介| 第九课| 坏老师| angie faith| 乔治桑| 快乐到底| 拔萝卜电影| 我们的故事 电视剧| 在线高清毛片免费播放网站| 汪佳辉| 薛昊婧演过的电视剧| 大国崛起思维导图| 富坚真| 蓝心妍的电影《极乐宝鉴》免费国语 | 极品美女在线| 宋小宝电影| 环太平洋豆瓣| 毕业论文5000字大专| 汤唯和梁朝伟拍戏原版视频在线观看| 嘉兴19| 外貌协会face日本动漫| 电影《大突围》免费观看国语| 军官与男孩| 爱死你了陈美娇视频观看| 牙狼魔界战记| 美术《对称的美》| 美女出水| 宠物宝贝环游记| 新亮剑40集免费观看完整版高清| 少年歌行电视剧演员表| 1到100数字表图片| x档案第二季| 永远的牧歌简谱| 2025八方来财微信头像| 洪熙官个人资料简介| 《荷塘月色》课文| 建模软件|

!??!站長長期在線接!?。?/p>

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103