通过html的提交按钮上传文件,而不是上传flash按钮

时间:2012-12-01 13:20:31

标签: php javascript html flash swfobject

我的html表单中至少包含50个字段,并且我已经集成了flash文件上传器以进行多个文件上传。

用于flash文件上传器的另一个原因是我们在IE中上传文件之前无法获取文件大小。为了获得IE中的文件大小,我使用了flash。

EAflashuploader集成成功。

但我的要求有点不同。

在EAflashuploader中,单击上传的所有已添加文件时都有上传按钮。 但我想禁用此上传按钮,上传文件应该在我点击时上传 Html提交按钮。

简而言之,我想通过html中的提交按钮而不是闪存中的上传按钮来上传文件。

表单提交时我可以使用post方法获取所有数据。

项目链接:http://www.triggergmbh.com/EAFUpload/PHP/simpleupload.php

EAFlashUpload链接:http://www.easyalgo.com/examples/eaflashupload/simpleupload.aspx

EAFlashUpload文档链接:http://www.easyalgo.com/support/docs/eaflashupload/

Javascript功能

    function doSendForm() {  
        EAFlashUpload.uploadFiles();  
        document.forms["id_form"].submit();    
    }  

HTML代码

<div style="width:450px;height:350;background:#EFEFEF;">  
<form name="id_form" id="id_form" method="post" style="margin:0px;padding:0px;">  
<div id="EAFlashUpload_holder"></div>  

<script type="text/javascript" src="EAFUpload/swfobject.js"></script>  
<script type="text/javascript">  
    var params = {  
        BGcolor: "#ffffff",  
        wmode: "window"  
    };  

    var attributes = {  
        id: "EAFlashUpload",  
        name: "EAFlashUpload"                               
    };  

    var flashvars = new Object();   

    var uploadUrl = "simpleupload.php"; 
    if (!document.all) {  
        uploadUrl = "../" + uploadUrl;  
    }  
    flashvars["uploader.uploadUrl"] = uploadUrl;  
    flashvars["viewFile"] = "EAFUpload/TableView.swf";  
    flashvars["view.uploadButton.visible"] = "false";  

    swfobject.embedSWF("EAFUpload/EAFUpload.swf", "EAFlashUpload_holder", "450", "350", "10.0.0", "EAFUpload/expressInstall.swf", flashvars, params, attributes);  

    function EAFlashUpload_onMovieLoad(errors)  
    {  
        if(errors != "")  
            alert(errors);   
    }  
</script>
    <p>First name: <input type="text" name="firstname"></p>  
    <p>Last name: <input type="text" name="lastname"></p>  
    <input type="submit" id="id_submit" name="submit" value="submit" onClick="doSendForm();" style="padding:10px;font-size:20px;">&nbsp;  
</form>
</div>  

2 个答案:

答案 0 :(得分:2)

如果您对基本HTML表单+ PHP文件上传感兴趣,可以查看以下链接:http://www.w3schools.com/php/php_file_upload.asp

答案 1 :(得分:0)

EAFlashbutton似乎有灵活的配置选项和Javascript API。

您应该可以1)隐藏Flash上​​传按钮,2)通过Javascript从外部触发上传。

1)隐藏按钮

按钮有一个visible property,所以你应该可以用这样的东西隐藏它们:

flashvars["view.uploadButton.visible"] = "false";

2)触发上传

使用Javascript API的uploadFiles() method