1. 程式人生 > >多檔案上傳uploadify.v2.1.0使用總結

多檔案上傳uploadify.v2.1.0使用總結

這裡只講一些問題的解決

1.如何解決中文字亂碼

使用屬性buttonImg將flash檔案設定為圖片,再使用div當背景

 'buttonImg': '../JS_Upload/mutiImport.png',
  <td colspan="5" align="left"><div style="background:url(../JS_Upload/mutiImport.png); width:110px;height:23px;"><input type="file" name="uploadify" id="uploadify" accept="image/jpeg"  /></div></td>

2.介面顯示的時候flash載入很慢

解決:

這個使用一個div將div的背景設定為buttonImg一樣的圖片背景就行了

<div style="background:url(../JS_Upload/mutiImport.png); width:110px;height:23px;">
<input type="file" name="uploadify" id="uploadify" accept="image/jpeg"  /></div>

效果:


3.後臺接收中文引數的時候會亂碼

解決:

在ashx處理前將編碼轉換為utf-8

context.Request.ContentEncoding = Encoding.GetEncoding("UTF-8");
context.Response.ContentEncoding = Encoding.GetEncoding("UTF-8");

4.一次性上傳多個檔案 但是如果部分成功部分失敗 想匯出成excel應該怎麼做?

提供一種思路:

由於此控制元件每上一次就會自動呼叫一次後臺處理方法,需要在後臺先把錯誤資訊拼接到前臺隱藏控制元件裡

然後在onAllComplete方法裡把錯誤資訊拼到form表單裡 最後提交form表單到達處理頁面,由處理頁面將錯誤資訊匯出excel

需要注意的是,提交表單的時候最好使用iframe,不然介面條件會被重新整理掉

 $("#uploadify").uploadify({
                'uploader': '../JS_Upload/uploadify.swf',
                'script': '
[email protected]
' + $(HEAD_STR + "HF_E_COMMERCE_CODE").val() + "@" + $(HEAD_STR + "HF_LOGIN_USERNAME").val(), 'cancelImg': '../JS_Upload/cancel.png', 'folder': 'UploadFileTemp', 'queueID': 'fileQueue', 'auto': true, 'multi': true, 'wmode':'transparent', 'height':25, 'width': 130, 'buttonImg': '../JS_Upload/mutiImport.png', //'buttonText': '瀏覽', //按鈕上的文字 'queueSizeLimit': <%=SFDZ_MAX_UPLOADED_COUNT%>, //上傳佇列的最大長度 // 'sizeLimit': 1024 * 200, //最大200KB 'fileExt': '*.jpg', 'fileDesc': '請選擇jpg格式', 'simUploadLimit': '1', //一次同步上傳的檔案數目 'onAllComplete': function(event, uploadObj) //多個上傳 { //alert("上傳完成!"); document.getElementById("uploadForm").submit(); clearErrorMsg(); hiddenLoadingDiv(); }, 'onQueueFull': function(event, queueSizeLimit) { //如果超過上傳佇列的最大長度 取消上傳 $('#uploadify').uploadifyClearQueue(); }, 'onProgress': function(event, ID, fileObj, data) { showLoadingDiv(); //鎖屏 }, 'onComplete': function(event, ID, fileObj, response, data) //單個上傳 { var obj = eval("(" + response + ")"); //alert(obj.error_code); //錯誤程式碼 100檔案大小不能為0 // 102 檔案不能超過xx // 103檔名不正確 // 110 檔案上傳失敗 // 120檔案上傳成功 // 105 該訂單不屬於當前電商 var hid_error_code_100 = $("#hid_error_code_100").val(); var hid_error_code_102 = $("#hid_error_code_102").val(); var hid_error_code_103 = $("#hid_error_code_103").val(); var hid_error_code_105 = $("#hid_error_code_105").val(); var hid_error_code_110 = $("#hid_error_code_110").val(); switch (obj.error_code) { case "100": //alert(obj.error_msg); //alert(hid_error_code_100); if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_100").val(hid_error_code_100 + obj.error_msg + "、"); } break; case "102": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_102").val(hid_error_code_102 + obj.error_msg + "、"); } break; case "103": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_103").val(hid_error_code_103 + obj.error_msg + "、"); } break; case "105": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_105").val(hid_error_code_105 + obj.error_msg + "、"); } break; case "110": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_110").val(hid_error_code_110 + obj.error_msg + "、"); } break; default: break; } } }); });
    <form action="Frm_Action_SFDZ.aspx?DoType=ExportHWC_SFDZ_ERROR" name="uploadForm" id="uploadForm" method="post" target="Action_frame">
            <input id="hid_error_code_100" name="hid_error_code_100" type="hidden" value=""  />
            <input id="hid_error_code_102" name="hid_error_code_102" type="hidden" value=""  />
            <input id="hid_error_code_103" name="hid_error_code_103" type="hidden" value=""  />
            <input id="hid_error_code_110" name="hid_error_code_110" type="hidden" value=""  />
            <input id="hid_error_code_105" name="hid_error_code_105" type="hidden" value=""  />
  </form>
 <iframe id="Action_frame" name="Action_frame" style="display:none;"></iframe> 


5.如果新增一個帶滾動條的效果

提供一種思路:

在開始執行上傳的時候開啟一個層遮住,在onAllComplete執行完畢時關閉層

 'onProgress': function(event, ID, fileObj, data) {
                    showLoadingDiv(); //鎖屏
                },

 'onAllComplete': function(event, uploadObj) //多個上傳
                {
                    //alert("上傳完成!");
                    document.getElementById("uploadForm").submit();
                    clearErrorMsg();
                    hiddenLoadingDiv();
                },

6.如何在超過一次性上傳個數限制的時候取消上傳

提供一種思路:

在onQueueFull方法裡呼叫取消方法即可

  'onQueueFull': function(event, queueSizeLimit) {
                    //如果超過上傳佇列的最大長度 取消上傳
                    $('#uploadify').uploadifyClearQueue();
                },


相關推薦

檔案uploadify.v2.1.0使用總結

這裡只講一些問題的解決 1.如何解決中文字亂碼 使用屬性buttonImg將flash檔案設定為圖片,再使用div當背景 'buttonImg': '../JS_Upload/mutiImport.png', <td colspan="5" align="lef

Java Servlet3.0使用getPart/getParts實現單檔案檔案

一、使用工具: (1)Firefox瀏覽器 (2)Eclipse 二、實現單檔案上傳 (1)Servlet 原始碼 package com.servlet; import java.io.IOExce

2018-11-13 關於uploadify檔案問題

一、上傳檔案 1.HTML程式碼: <tr> <td align="right"> 上傳檔案: </td> <td align="left" colspan="1">

Jquery外掛(uploadify外掛實現檔案

前臺HTML程式碼: <div class="control-group" id="title-control-group"> <label class="control-label"><?=_('關於圖片(*)')?></lab

struts 1.x檔案

<html:form action="/CFIS_AlbumAddPhotos.do" enctype="multipart/form-data" method="post"> image1 : <html:file propert

uploadify+java實現檔案和預覽

1、下載uploadify外掛 2、index.html <!DOCTYPE html> <html lang="en"> <head> <@head/> <script src="<@path/>/js

Retrofit 2.0檔案檔案

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("有檔案提交");// 設定respons

相容ie8的檔案

在HTML5中,表單元素有一個新的屬性multiple,可實現多選功能。 <input type="file" multiple>這樣就可以實現多檔案上傳,但是此方法不相容ie8等低版本瀏覽器。所以專案中我使用的是百度的WebUpload外掛,此外掛在ie中底層使用flas

用Ajax提交檔案表單

function test(){ var form = new FormData(document.getElementById(“表單id”)); $ .ajax({     url:“表單提交路徑”,   &nb

SpringBoot檔案檔案下載

1、前端的form表單: <form id="form"  action="controller層的多檔案上傳方法訪問路徑" method="post" enctype="multipart/form-data"> <input  type="file" n

第30講 .struts2檔案

1在專案中,HeadFirstStruts2chapter08,新建filesUpload.jsp檔案 <%@ page language="java" contentType="text/html; charset=UTF-8"   &nbs

TP5實現檔案及展示

view層上傳: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body&

webuploader實現檔案

問題:  1: 上傳失敗,不知道怎麼在服務端寫返回值?  2: 做個多檔案上傳怎麼辦?  1:上傳失敗,不知道怎麼在服務端寫返回值? (1):首先在初始化Web Uploader  的方法寫上 server: 'http://localho

在SSM框架中使用AJAX實現檔案

今天來學習一下在SSM框架中使用ajax實現檔案的上傳。 1.首先我們需要一個搭建好的SSM框架專案,這個在這篇文章裡不是重點,自行先搭建好需要的專案。 這裡我是用的jsp頁面來和後臺介面關聯,在jsp檔案中我們需要一個form表單,請求方法為POST,enctype="mu

fastDFS+LibreOffice檔案(二)前端部分:修改按鈕樣式和後在頁面顯示

一:修改上傳按鈕樣式 原來的<input type="file"/>太醜了,所以我自己設定了樣式。方法:在<input type="file"/>上面加一層div,遮住它。 .upload{ padding: 0px 25px; line-height

Spring Boot 單檔案檔案,以及將檔案寫入響應中

單檔案上傳 配置檔案設定 @Component public class MultipartConfig { @Bean public MultipartConfigElement multipartConfigElement(){ Multipa

fastDFS+LibreOffice檔案(二)後端部分:檔案資訊轉json字串儲存資料庫(Gson和org.json兩種方式)

需要注意的地方: 1)如果你複製我的程式碼到你的程式上報錯,可以看看我第一篇文章實體類跟配置檔案的設定:https://blog.csdn.net/qq_36688143/article/details/84162924 第二篇檔案上傳前端頁面的程式碼: https://blog.c

Java架構-Spring mvc+oss儲存+fileupload檔案實現SSO單點登入模板管理

之前給大家介紹了sso的相關知識點和整合方案,考慮到每個系統所屬行業的不同,這邊針對於不同行業做了一些統一的sso單點登入介面模板,使用fileupload多檔案上傳+OSS阿里雲端儲存方案。 1. 阿里雲oss儲存Utils Java程式碼 2. 阿里雲配

SWFUpload檔案使用指南

SWFUpload是一個flash和js相結合而成的檔案上傳外掛,其功能非常強大。以前在專案中用過幾次,但它的配置引數太多了,用過後就忘記怎麼用了,到以後要用時又得到官網上看它的文件,真是太煩了。所以索性就把它的用法記錄下來,也方便英語拙計的同學檢視,利人利己,一勞永逸。(ps:SWFUpload早就不再更新