htmlフォームに少なくとも50個のフィールドがあり、複数のファイルをアップロードするためのフラッシュファイルアップローダーを統合しています。
フラッシュファイルアップローダーに使用されるもう1つの理由は、IEでファイルをアップロードする前にファイルサイズを取得できないことです。IEでファイルサイズを取得するために、私はフラッシュを使用しました。
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;">
</form>
</div>