文件上传_HTML5与SWFUpload(2)

一、

不支持HTML5上传的只能是flash~

不过发现网上关于swfupload的文章实在太多了,还有中文手册~

下载地址:http://code.google.com/p/swfupload/

英文手册:http://demo.swfupload.org/Documentation/

中文手册:http://leeon.me/upload/other/swfupload.html(需要注意下更新时间~)

1、就像手册中提到的,用swfupload做上传的时候,需要在页面中加个JS

<script type="text/javascript" src="http://www.swfupload.org/swfupload.js"></script>

2、需要对swf对象初始化,传入配置的参数

var settings_object = {
        upload_url : "http://www.swfupload.org/upload.php",
        flash_url : "http://www.swfupload.org/swfupload.swf",
        button_placeholder_id : "spanSWFUploadButton",
        file_size_limit : "20480" ,
        upload_start_handler : uploadStartEventHandler,//失败回调函数
        upload_success_handler : uploadSuccessEventHandler//成功回调的函数
        ...//其他需要的配置
    };
    
var swfu = new SWFUpload(settings_object);

二、安全性

不过需要提醒的,用swf上传文件,具有安全性隐患,所以一定要自己修正后再用,具体可以见:http://www.imququ.com/post/security_problem_in_flash_uploader.html

另外在实际的运用中,高级浏览器可以用HTML5的方式上传,IE用swf吧。。

三、

可以在页面中这样:

<script type="text/template" id="upload-file">
    <input id="uploadFile" type="file" />
</script>
<script type="text/template" id="upload-flash">
    <object id="SWFUpload" width="100" height="20" class="swfupload">
        <param value="opaque" name="wmode">
        <param value="swfupload.swf">
    </object>
</script>

然后在JS中根据不同的浏览器抽取不同的HTML,达到兼容的效果~

原文地址:https://www.cnblogs.com/lilyimage/p/2605510.html