Rumah hujung hadapan web tutorial js Paparan masa nyata bar kemajuan untuk memuat naik imej berdasarkan pemalam Jquery Uploadify_jquery

Paparan masa nyata bar kemajuan untuk memuat naik imej berdasarkan pemalam Jquery Uploadify_jquery

May 16, 2016 am 09:00 AM
jquery Muat naik gambar pemalam bar kemajuan

先了解了解Uploadify,具体内容如下

Uploadify是一个简单易用的多文件上传方案。作为一个Jquery插件,Uploadify使用简单,并具有高度的定制性。

Uploadify特性:

Uploadify简单说来,是基于Jquery的一款文件上传插件。它的功能特色总结如下:

1)、支持单文件或多文件上传,可控制并发上传的文件数
2)、在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Java……
3)、通过参数可配置上传文件类型及大小限制
4)、通过参数可配置是否选择文件后自动上传
5)、易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……)
6)、通过接口参数和CSS控制外观
7)、提供上传进度的事件回调,实时显示上传进度
8)、开始之前要先下载插件安装包到本地并引用,详细实现请看代码注释,下面开始代码。

1、html代码

<div id="webApplogo_file" style="display: block; width: 800px; background-color: #fff;">
      <ul>
        <li style="margin-left: 213px;"><span class="black_blod14">LOGO图标:</span></li>
        <li style="margin-left: 3px;">
          <input type="text" readonly="readonly" id="text_webApplogo" name="app_logo" class="appipt1" value="<%=applogo %>" /></li>
        <li style="padding-top: 1px;">
          <input type="file" id="webApplogo" name="webApplogo" />
        </li>
        <li><span style="display: none; margin-left: 5px; padding-left: 20px; color: #EA5200;
          font-size: 12px; background: url('Images/icon_03.gif' ) no-repeat 0px 0px;" id="textporApplogo">
          请上传LOGO图标!</span></li>
        <li style="margin-left: 220px;"><span class="grey999" style="margin-left: 90px; float: left;">
          尺寸72px*72px,png格式,建议使用 图标PSD模板 制作</span>
          <div id="QID_webApplogo" class="fileQueue"></div>
          <table id="webApplogo_tab" width="50%" border="0" cellspacing="0" cellpadding="0"
            align="center" class="grey999" style="display: none; margin-left: 90px; float: left;">
            <tr>
              <td align="center" valign="bottom">
                <img style="width: 64px; height: 64px;" id="img_64" src="images/icon_02.gif" border="0" /><br />
                (64*64)
              </td>
              <td align="center" valign="bottom">
                <img style="width: 48px; height: 48px;" id="img_48" src="images/icon_02.gif" border="0" /><br />
                (48*48)
              </td>
              <td align="center" valign="bottom">
                <img style="width: 32px; height: 32px;" id="img_32" src="images/icon_02.gif" border="0" /><br />
                (32*32)
              </td>
              <td align="center" valign="bottom">
                <img style="width: 16px; height: 16px;" id="img_16" src="images/icon_02.gif" border="0" /><br />
                (16*16)
              </td>
            </tr>
          </table>
        </li>
      </ul>
    </div>
Salin selepas log masuk

2、Javascript代码(关键部分)

$("#webApplogo").uploadify({ 
      'uploader': 'js/uploadify-v2.1.4/uploadify.swf',//进度条,Uploadify里面含有
      'script': 'UploadApplogo.ashx',//一般处理程序
      'cancelImg': 'js/uploadify-v2.1.4/cancel.png',//取消图片路径
      'folder': 'Imagelogo',//上传文件夹名
      'auto': true, //文件添加到上传队列后,自动进行上传。默认为false
      'multi': false,//是否允许多文件上传。默认为false
      'fileExt':'*.gif;*.jpg;*.jpeg;*.png',//允许上传的文件类型,使用分号(”;)”分割 例如:*.jpg;*.gif,默认为null(所有文件类型)
      'fileDesc':'不超过2M的图片 (*.gif;*.jpg;*.png)',
      'sizeLimit': 2048000, //允许上传的文件大小(kb) 此为2M
      'onSelectOnce': function(event,data) { //在单文件或多文件上传时,选择文件时触发
        //event 事件对象(the event object)
        //data 选择的操作信息
        //data.filesSelected 选择文件操作中选中的文件数量
        $('#status-message').text(data.filesSelected + ' 文件正在等待上传…….'); 
      },
      'onComplete': function(event, queueID, fileObj, response, data) {//当单个文件上传完成后触发
        //event:事件对象(the event object)
        //ID:该文件在文件队列中的唯一表示
        //fileObj:选中文件的对象,他包含的属性列表
        //response:服务器端返回的Response文本,我这里返回的是处理过的文件名称
        //data:文件队列详细信息和文件上传的一般数据

        alert("文件:" + fileObj.name + " 上传成功!");
        //设置图片名称
        $("#applogo").attr("value",response);
        //设置输入框的值
        $("#text_webApplogo").attr("value",fileObj.name);
        //设置图片路径
        $("#img_64").attr("src","Imagelogo/64_"+response);
        $("#img_48").attr("src","Imagelogo/48_"+response);
        $("#img_32").attr("src","Imagelogo/32_"+response);
        $("#img_16").attr("src","Imagelogo/16_"+response);
        //图片路径设置完成后,显示图片
        $("#webApplogo_tab").css("display","block");
      },
      'onError': function(event, queueID, fileObj) {//当单个文件上传出错时触发
        alert("文件:" + fileObj.name + " 上传失败!");
      },
      'buttonImg':'Images/bn_04.gif',//浏览按钮的图片路径
      'width':60,//浏览按钮的宽和高
      'height':24
      ,'queueID':'QID_webApplogo'//页面上作为文件上传队列的元素的ID
    });

Salin selepas log masuk

3、服务器端处理文件上传

/// <summary>
  /// 上传文件
  /// </summary>
  public class UploadApplogo : IHttpHandler
  {
    System.Drawing.Image image, image64, image48, image32, image16; //定义image类的对象
    protected string imagePath;//图片路径
    protected string imageType;//图片类型
    protected string imageName;//图片名称
    protected string fileName;//图片名称
    //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
    //如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false
    System.Drawing.Image.GetThumbnailImageAbort callb = null;

    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";
      HttpPostedFile UploadImage = context.Request.Files["FileData"];
      //物理路径
      string uploadpath = HttpContext.Current.Server.MapPath(context.Request["folder"] + "\\");

      if (UploadImage != null)
      {
        //是否有目录,如没有就创建
        if (!Directory.Exists(uploadpath))
        {
          Directory.CreateDirectory(uploadpath);
        }
        //客户端文件完全名称
        string filename = UploadImage.FileName;
        string extname = filename.Substring(filename.LastIndexOf(".") + 1);
        //为不重复,设置文件名
        fileName = Guid.NewGuid().ToString() + "." + extname;

        //context.Response.Write("1");
        context.Response.Write(fileName);
      }
      else
      {
        context.Response.Write("0");
      }

      string mPath;      

      imagePath = UploadImage.FileName;
      //取得图片类型
      imageType = imagePath.Substring(imagePath.LastIndexOf(".") + 1);
      //取得图片名称
      imageName = imagePath.Substring(imagePath.LastIndexOf("\\") + 1);
      Stream imgStream = UploadImage.InputStream;//流文件,准备读取上载文件的内容
      int imgLen = UploadImage.ContentLength;//上载文件大小

      //建立虚拟路径
      mPath = HttpContext.Current.Server.MapPath(context.Request["folder"]);
      //保存到虚拟路径
      UploadImage.SaveAs(mPath + "\\" + fileName);
      ////显示原图
      //imageSource.ImageUrl = "upFile/" + imageName;
      //为上传的图片建立引用
      image = System.Drawing.Image.FromFile(mPath + "\\" + fileName);

      //生成缩略图
      image64 = image.GetThumbnailImage(64, 64, callb, new System.IntPtr());
      //把缩略图保存到指定的虚拟路径
      image64.Save(HttpContext.Current.Server.MapPath(context.Request["folder"]) + "\\64_" + fileName);
      //释放image64对象的资源
      image64.Dispose();

      //生成缩略图
      image48 = image.GetThumbnailImage(48, 48, callb, new System.IntPtr());
      image48.Save(HttpContext.Current.Server.MapPath(context.Request["folder"]) + "\\48_" + fileName);
      image48.Dispose();

      //生成缩略图
      image32 = image.GetThumbnailImage(32, 32, callb, new System.IntPtr());
      image32.Save(HttpContext.Current.Server.MapPath(context.Request["folder"]) + "\\32_" + fileName);
      image32.Dispose();

      //生成缩略图
      image16 = image.GetThumbnailImage(16, 16, callb, new System.IntPtr());
      image16.Save(HttpContext.Current.Server.MapPath(context.Request["folder"]) + "\\16_" + fileName);
      image16.Dispose();

      //释放image对象占用的资源
      image.Dispose();
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }

Salin selepas log masuk

4、效果如下

以上就是本文的全部内容,希望对大家的学习有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah direktori pemasangan sambungan pemalam Chrome? Apakah direktori pemasangan sambungan pemalam Chrome? Mar 08, 2024 am 08:55 AM

Apakah direktori pemasangan sambungan pemalam Chrome? Dalam keadaan biasa, direktori pemasangan lalai pelanjutan pemalam Chrome adalah seperti berikut: 1. Lokasi direktori pemasangan lalai pemalam chrome dalam windowsxp: C:\DocumentsandSettings\username\LocalSettings\ApplicationData\Google\Chrome\UserData\ Default\Extensions2 chrome dalam windows7 Lokasi direktori pemasangan lalai pemalam: C:\Users\username\AppData\Local\Google\Chrome\User.

Kongsi tiga penyelesaian mengapa pelayar Edge tidak menyokong pemalam ini Kongsi tiga penyelesaian mengapa pelayar Edge tidak menyokong pemalam ini Mar 13, 2024 pm 04:34 PM

Apabila pengguna menggunakan penyemak imbas Edge, mereka mungkin menambahkan beberapa pemalam untuk memenuhi lebih banyak keperluan mereka. Tetapi apabila menambah pemalam, ia menunjukkan bahawa pemalam ini tidak disokong. Bagaimana untuk menyelesaikan masalah ini? Hari ini, editor akan berkongsi dengan anda tiga penyelesaian. Kaedah 1: Cuba gunakan pelayar lain. Kaedah 2: Flash Player pada penyemak imbas mungkin sudah lapuk atau tiada, menyebabkan pemalam tidak disokong Anda boleh memuat turun versi terkini dari tapak web rasmi. Kaedah 3: Tekan kekunci "Ctrl+Shift+Delete" pada masa yang sama. Klik "Kosongkan Data" dan buka semula penyemak imbas.

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Feb 28, 2024 pm 03:12 PM

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Dalam jQuery, kaedah menghantar permintaan PUT adalah serupa dengan menghantar jenis permintaan lain, tetapi anda perlu memberi perhatian kepada beberapa butiran dan tetapan parameter. Permintaan PUT biasanya digunakan untuk mengemas kini sumber, seperti mengemas kini data dalam pangkalan data atau mengemas kini fail pada pelayan. Berikut ialah contoh kod khusus menggunakan kaedah permintaan PUT dalam jQuery. Mula-mula, pastikan anda memasukkan fail perpustakaan jQuery, kemudian anda boleh menghantar permintaan PUT melalui: $.ajax({u

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Feb 28, 2024 am 08:39 AM

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Dalam pembangunan bahagian hadapan, kita sering menghadapi keperluan untuk memanipulasi atribut ketinggian elemen. Kadangkala, kita mungkin perlu menukar ketinggian unsur secara dinamik, dan kadangkala kita perlu mengalih keluar atribut ketinggian unsur. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengalih keluar atribut ketinggian elemen dan memberikan contoh kod khusus. Sebelum menggunakan jQuery untuk mengendalikan atribut ketinggian, kita perlu terlebih dahulu memahami atribut ketinggian dalam CSS. Atribut ketinggian digunakan untuk menetapkan ketinggian elemen

Petua jQuery: Cepat ubah suai teks semua teg pada halaman Petua jQuery: Cepat ubah suai teks semua teg pada halaman Feb 28, 2024 pm 09:06 PM

Tajuk: Petua jQuery: Cepat ubah suai teks semua teg pada halaman Dalam pembangunan web, kita selalunya perlu mengubah suai dan mengendalikan elemen pada halaman. Apabila menggunakan jQuery, kadangkala anda perlu mengubah suai kandungan teks semua teg dalam halaman sekaligus, yang boleh menjimatkan masa dan tenaga. Berikut akan memperkenalkan cara menggunakan jQuery untuk mengubah suai teks semua teg pada halaman dengan cepat, dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan fail perpustakaan jQuery dan memastikan bahawa kod berikut dimasukkan ke dalam halaman: &lt

Gunakan jQuery untuk mengubah suai kandungan teks semua teg Gunakan jQuery untuk mengubah suai kandungan teks semua teg Feb 28, 2024 pm 05:42 PM

Tajuk: Gunakan jQuery untuk mengubah suai kandungan teks semua teg jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas untuk mengendalikan operasi DOM. Dalam pembangunan web, kita sering menghadapi keperluan untuk mengubah suai kandungan teks tag pautan (tag) pada halaman. Artikel ini akan menerangkan cara menggunakan jQuery untuk mencapai matlamat ini dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam halaman. Tambahkan kod berikut dalam fail HTML:

Cara Google Chrome membenarkan pemalam animasi dijalankan Cara Google Chrome membenarkan pemalam animasi dijalankan Mar 28, 2024 am 08:01 AM

Bagaimanakah Google Chrome membenarkan pemalam animasi dijalankan? Google Chrome sangat berkuasa. Ramai rakan suka menggunakan pelayar ini untuk menonton animasi video Namun, jika anda ingin menonton pelbagai video animasi, anda perlu memasang pemalam animasi Ramai rakan menggunakan Google Chrome pemalam animasi, saya masih tidak mengambil berat tentang video Bagaimana saya harus menangani masalah ini? Seterusnya, biarkan editor menunjukkan kepada anda langkah-langkah khusus untuk membenarkan pemalam animasi dijalankan dalam Google Chrome Rakan-rakan yang berminat boleh datang dan melihat. Langkah khusus untuk Google Chrome membenarkan pemalam animasi dijalankan: 1. Mula-mula jalankan Google Chrome pada komputer anda dan klik butang menu utama di penjuru kanan sebelah atas halaman utama (seperti yang ditunjukkan dalam gambar). 2. Selepas membuka menu utama, pilih pilihan "Tetapan" di bawah (seperti yang ditunjukkan dalam gambar). 3. Dalam tetapan

Bagaimana untuk menyahsekat pemalam Google Chrome Bagaimana untuk menyahsekat pemalam Google Chrome Apr 01, 2024 pm 01:41 PM

Bagaimana untuk menyahsekat pemalam Google Chrome? Ramai pengguna suka memasang pelbagai pemalam yang berguna apabila menggunakan Google Chrome ini boleh menyediakan fungsi dan perkhidmatan yang kaya dan meningkatkan kecekapan kerja Walau bagaimanapun, sesetengah pengguna mengatakan bahawa selepas memasang pemalam dalam Google Chrome, pemalam itu akan sentiasa dipaparkan disekat, jadi bagaimana anda boleh menyahsekat pemalam selepas menghadapi situasi ini? Sekarang biarkan editor menunjukkan kepada anda langkah untuk menyahsekat pemalam dalam Google Chrome Rakan yang memerlukan perlu datang dan melihat. Bagaimana untuk menyahsekat pemalam dalam Google Chrome Langkah 1. Apabila gesaan yang disekat muncul, klik "Control Bar" dan pilih "Install ActiveX Control". 2. Kemudian buka menu "Tools" pelayar dan klik "Internet Options". 3.

See all articles