當前位置:首頁 » 文件管理 » swfupload上傳文件

swfupload上傳文件

發布時間: 2023-12-04 18:45:35

⑴ 火狐瀏覽器,SWFupload上傳文件,谷歌和IE都可以,就是火狐不行

尊敬的用戶,您好!很高興為您答疑。
這個事swf內部一場,請您檢查下您的flash插件是否正常啟用。

希望我的回答對您有所幫助,如有疑問,歡迎繼續咨詢我們。

⑵ 如何解決swfupload的「

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上傳圖片--${siteName}</title>
<jsp:include page="/home/head_html.jsp" flush="true" />
<script type="text/javascript" src="/myimg/.js"></script>
<link href="/uploadflash/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/uploadflash/swfupload.js"></script>
<script type="text/javascript" src="/uploadflash/swfupload.queue.js"></script>
<script type="text/javascript" src="/uploadflash/fileprogress.js"></script>
<script type="text/javascript" src="/uploadflash/handlers.js"></script>
<script type="text/javascript" src="/uploadflash/flashChecker.js"></script>
<script type="text/javascript">
var upload1;
window.onload = function() {
upload1 = new SWFUpload({
// 背景資料設置
upload_url: "/uploadflash_execute.action",
post_params: {"jsessionid":"<%=request.getSession().getId() %>"},

// 文件上傳設置
file_size_limit : "15 MB", // 15MB
file_types : "*.jpg;*.gif;*.png;*.bmp",
file_types_description : "Image Files",
file_upload_limit : "0", //實例允許上傳的最多文件數量,0表示允許上傳的數量無限制
file_queue_limit : "0", //設置文件上傳隊列中等待文件的最大數量限制

// 掛事件, 所有事件處理程序在Handler.js文件
file_dialog_start_handler : fileDialogStart, //此事件在selectFile或者selectFiles調用後,文件選擇對話框顯示之前觸發。只能同時存在一個文件對話框。
file_queued_handler : fileQueued, //當文件選擇對話框關閉消失時,如果選擇的文件成功加入上傳隊列,那麼針對每個成功加入的文件都會觸發一次該事件(N個文件成功加入隊列,就觸發N次此事件)。
file_queue_error_handler : fileQueueError,//如果選擇的文件加入到上傳隊列中失敗,那麼針對每個出錯的文件都會觸發一次該事件
file_dialog_complete_handler : fileDialogComplete,//當選擇文件對話框關閉,並且所有選擇文件已經處理完成(加入上傳隊列成功或者失敗)時,此事件被觸發
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,

// 按鍵設置
button_image_url : "/image/XPButtonUploadText_61x22.png",
button_placeholder_id : "spanButtonPlaceholder1",
button_width: 61,
button_height: 22,

// 指明swfupload.swf的位置
flash_url : "/uploadflash/swfupload.swf",

custom_settings : {
progressTarget : "fsUploadProgress1",
cancelButtonId : "btnCancel1"
},
// Debug開關
debug: false
});
//alert( getCookie('JSESSIONID'));
//upload1.addPostParam("JSESSIONID",getCookie('JSESSIONID'));
//upload1.addPostParam("PICVWE4567J",getCookie('PICVWE4567J'));
}

//獲取指定名稱的cookie的值
function getCookie(objName) {
var arrStr = document.cookie.split("; ");
for ( var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == objName)
return unescape(temp[1]);
}
}
//讀取所有保存的cookie字元串
function allCookie() {
var str = document.cookie;
if (str == "") {
str = "沒有保存任何cookie";
}
return str;
}
function start_() {
upload1.startUpload();
}
function cancelUpload() {
upload1.cancelUpload();
//upload1.disappear();
//var file;
//alert(upload1.queue );
//while((file=upload1.getFile())!=null){
// file.cancelUpload();
//}
}
</script>
</head>
<body>
<jsp:include page="/home/head.jsp" flush="true" />
<jsp:include page="/home/menu-upload.jsp" flush="true" />

<table align="center" cellpadding="0" cellspacing="0" border="0" width="880" class="main">
<tr>
<td class="bor_4" style="padding:10px;">

總空間:${user.all_space_str} -- 已用空間:${user.use_space_str}

單個圖片不能超過 15M,可以上傳 gif , jpg , png , bmp 類型的文件

<span id="flashPlayInstall"></span>
<br/>
<br/>
<div id="content">
<form id="form1" action="/uploadflash_execute.action" method="post" enctype="multipart/form-data">
<table>
<tr valign="top">
<td>
<div>
<div class="fieldset flash" id="fsUploadProgress1">
<span class="legend">上 傳 隊 列</span>
</div>
<div style="padding-left: 5px;">
<span id="spanButtonPlaceholder1"></span>
<input id="btnCancel1" type="button" value="取消上傳" onclick="cancelQueue(upload1);" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
<input id="" type="button" value="開始上傳" onclick="start_()"/>
<input id="" type="hidden" value="清空" onclick="cancelUpload()"/>
<br />
</div>
</div>
</td>
</tr>
</table>
</form>
</div>

</td>
</tr>
</table>
<jsp:include page="/home/foot.jsp" flush="true" />
<script type="text/javascript">
var fls = flashChecker();
var s = "";
if (fls.f){ //fls.f
$('#flashPlayInstall').text("您已經安裝了flash,版本為: " + fls.v);
}else{
var msg="<span style='color:red;'>您未安裝Flash Player 9(以上),安裝後才能批量上傳</span>"
+" <a href='/soft/flash_player_10_IE.zip'>下載</a>";
$('#flashPlayInstall').html(msg);
}
</script>
</body>
</html>

⑶ SWFUpload 上傳任意文件類型如何設置

上傳類型可以用 *.* 或者就一個*。
(大小限制,我試試,沒用過那麼大的。)
試過了,可以傳1G的;文檔里的意思是沒有大小限制(當然,只是在瀏覽器端,不是在伺服器端)。
--------
//創建SWFUpload的實例時,加入參數
file_size_limit : "1024MB",//設置文件大小限制
file_types : "*.*;",//設置文件類型

⑷ SWFUpload 文件上傳插件常用的配置講解

上傳文件swfUpload 插件:

基本的文件上傳涉及到的四個文件  (還有一個處理數據的php文件  這里沒有涉及到)

html頁面:

upload_window.html

js文件:

swfupload.js

handlers.js

fileprogress.js

第一:從html頁晌敗面出發:

重要的是將頁面載入時間中的var setting={}這個大對象中的參數設置好  以下都是這個對象裡面的常用配置 非常重要

首先需要將swfupload.swf載入

在 var  setting={} 這個大對象裡面加flash_url:值

如: flash_url: "<tpl>$siteurl_static</tpl>/assets/uc/js/swfupload.swf",

然後需要將上傳的路徑加入 如: upload_url: "http://load.zom.com/u.do?uploadkey=" + uploadkey + "&ck=" + ck + "&cc=" + cc,(java的上傳路徑)

相關的設置常用的有:

file_size_limit  (設置上傳的大小)    file_types(設置文件上傳的類型)file_types_description(設置文件上傳描述)

file_upload_limit (設置文件上傳的數量限制)file_queue_limit (設置文件隊列數量限制)

prevent_swf_caching : false  (在相關的swf文件增加隨機參數避免Flash被緩存

debug:false

按鈕的相關配置:

button_width: "200",

button_height: "50",

button_text_left_padding: 16,

button_text_top_padding: 7,

button_cursor:  button_cursor 指定滑鼠懸停在Flash按鈕上時的游標樣式,可用值為SWFUpload.CURSOR里定義的常量。如:button_cursor: SWFUpload.CURSOR.HAND,

button_action(設置只能上傳一個文檔的限制:--》button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE)

之後就是設置一些事件處理函數  這些都是在  handlers.js 裡面相應的函數

file_dialog_start_handler: fileDialogStart,(設置文件對話開始函數)

file_queued_handler: fileQueued,(設置文件隊列函數)

file_dialog_complete_handler: fileDialogComplete,(設置文件對話完成處理函數)

file_queue_error_handler: fileQueueError,(設置隊列錯誤處理函數)

upload_start_handler: uploadStart,(設置開始上傳函數)

upload_progress_handler: uploadProgress,(設置上傳進度處理函數)

upload_error_handler: uploadError,(設置上傳錯誤處理函數)

upload_complete_handler: uploadComplete,(設置上傳此謹稿完成處理函數)

upload_success_handler: uploadSuccess(設置上傳成功處理函數)

以上的配置都是在頁面自動載入函數的setting大對象裡面需要配置的基本參數

除了以上這些還有下面相應的非常關鍵的配置

別忘記:在setting大對象結束之後 在自動載入函數結束之前還有swfu = new SWFUpload(settings);  實例化一個對象

var setting還有森孝比較重要的配置  如下:

1.關於上傳進度的配置是關鍵:

在var setting={}這個大對象裡面設置一個元素:

custom_settings: {

                    progressTarget: "fsUploadProgress"

 },

progressTarget的值(即fsUploadProgress)是文件上傳進度的顯示 將html裡面設置相應的位置放id="fsUploadProgress"

如:<div class="progressbar progressbar-0" id="fsUploadProgress">

            <span class="prog-num">0</span>

        </div>

span標簽里的0就是從0開始進行上傳  0就是初始的顯示進度

2:關於上傳的按鈕設置 

在 var setting={} 這個大對象裡面設置  button_placeholder_id : "spanButtonPlaceHolder"

需要將html相應的上傳按鈕加上相應的id="spanButtonPlaceHolder"

如:<div id="upload_doc" class="up-btn"><i >上傳文檔</i><span id="spanButtonPlaceHolder"></span></div>

成功上傳需要將相應的數據進行處理:

在html頁面中需要寫ajax進行數據的處理~

如:

//成功後調用

function agree_upload(){

            var doc_id=$('.doc_title').attr('id');

            if(doc_id>0){

                uploadFinish(doc_id);

                parent.DOC88Window.close();

            }else{

                alert('您還未選擇重新上傳的文檔');

            }

        }

        function uploadFinish(new_p_id) {

            var old_p_id = "<tpl>$p_id</tpl>";

            $.ajax({

                url: "/ucr/doc.php?act=save_upload",

                type: "post",

                data: {

                    old_p_id: old_p_id,

                    new_p_id: new_p_id

                },

                dataType: "json",

                success: function (msg) {

                    if (msg.result == 1) {

                        alert("數據正確");

                    } else {

                        alert("數據錯誤");

                    }

                }

            });

        }

第二:因為html頁面中setting配置中有相應的函數處理配置  涉及到handler.js函數,所以接下來到handler.js文件的處理配置

根據html頁面的配置 處理函數的順序進行相應的配置

首先是fileQueue函數  文件排隊函數:

需要設置一個變數 關於flash動畫的函數

var stats = swfu.getStats();

根據需要將文件上傳隊列數量進行限制

if (stats.files_queued > 1) {

            alert("您的附件不能超過1個");

                    return false;

    }

接下來是fileQueueError函數  文件排隊錯誤函數:

根據需要將相應的設置放在這個函數裡面

可以放在try catch函數裡面    設置的限制如下:

      switch (errorCode) {

            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:

                alert('單個文件大小不要超過50MB');

                break;

            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:

                alert('不能上傳空文件');

                this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);

                break;

            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:

                alert('文件類型錯誤');

                break;

            default:

                if (file !== null) {

                }

                this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);

                break;

        }

接下來是uploadStart函數  文件上傳開始函數:

設置相應的功能按鈕的變換  比如上傳開始(走到這個函數時 可以將相應的上傳按鈕改成上傳中 並且禁止點擊 就是禁用功能 加上一個取消上傳按鈕 )

可以將上傳的文件的名稱和文件格式顯示出來 

如:

$("#upload_doc i").html("上傳中");

    $('#cancel_upload').html('取消');

$("#upload_doc").attr('disabled','disabled');

var name = file.name;

                $('.doc_title').html(name);

        var format = file.type;

        format = format.toLocaleUpperCase();

        format = format.replace('.', '');

        $('.doc_format').html(format); 

接下來是uploadProgress函數  文件上傳進度函數:如:

var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上傳的進度

        var progress = new FileProgress(file, this.customSettings.progressTarget);

        progress.setProgress(percent);

        progress.setStatus("正在上傳");

接下來是uploadSuccess函數  文件上傳成功函數

然後是uploadError函數  上傳失敗函數:

其他相關的函數可以根據需要進行設置

第三:fileprogress.js文件  關於文件上傳進度  關鍵的是:

FileProgress函數的設置:

如:

function FileProgress(file, targetID) {

        this.fileProgressID = file.id;

        this.fileProgressWrapper = document.getElementById(this.fileProgressID);

        if (!this.fileProgressWrapper) {

                  this.fileProgressWrapper = document.createElement("li");

                  this.fileProgressWrapper.id = this.fileProgressID;

                  document.getElementById(targetID).appendChild(this.fileProgressWrapper);

        }

      this.setTimer(null);

}

FileProgress.prototype.setProgress = function (percentage) {}  裡面進度樣式的處理

如:

if (percentage <= 5) {

                $(".progressbar").addClass('progressbar-5');

    } else if (percentage <= 10) {

                $(".progressbar").addClass('progressbar-10');

    }......

第四:swfupload.js文件    幾乎不用修改 可以將不用的函數刪減

有很詳細的講解 鏈接:https://www.cnblogs.com/myboke/p/5579236.html

http://www.runoob.com/w3cnote/swfupload-guide.html

⑸ swfupload上傳文件Upload Error: 404,但是已經上傳成功

自己用flex寫一個吧 java端引用commons-fileupload jar包,flex端使用flash.net.FileReference.upload

⑹ swfupload 上傳以後 文件到哪去了

swf有一個定義好的回調函數方法:


upload_success_handler:uploadSuccess,
//自己定義一個名字為uploadSuccess的函數即可被調用
//例如
functionuploadSuccess(file,serverData){
varprogress=newFileProgress(file,this.customSettings.progressTarget);
progress.setComplete();
progress.setStatus(serverData+"圖片已上傳完成.");
progress.toggleCancel(false);
//serverData即是回傳回來的圖片名稱
}
熱點內容
icloud沒密碼怎麼注銷 發布:2024-07-27 17:45:16 瀏覽:37
c語言文件讀入 發布:2024-07-27 17:22:30 瀏覽:268
200kw負荷如何配置計量 發布:2024-07-27 17:19:59 瀏覽:906
c語言數組的最大長度 發布:2024-07-27 17:04:07 瀏覽:326
安卓手機怎麼變成充電寶 發布:2024-07-27 16:51:02 瀏覽:943
java高級課程 發布:2024-07-27 16:42:01 瀏覽:400
win10電腦怎麼看wifi密碼 發布:2024-07-27 16:03:13 瀏覽:516
豐田探駿哪個配置好 發布:2024-07-27 15:47:13 瀏覽:784
虛擬化的雲存儲 發布:2024-07-27 15:27:36 瀏覽:765
譚浩強的c語言教材 發布:2024-07-27 15:22:08 瀏覽:581