注册 登录
编程论坛 JavaScript论坛

SWFUpload上传求助

didozhp 发布于 2011-02-10 15:21, 1008 次点击
http://demo.
只有本站会员才能查看附件,请 登录

链接是在线的,我想知道图片中的跳出那个框是怎么实现的,求助啊。那些代码看的有点乱了
9 回复
#2
aspic2011-02-10 15:55
flash实现的。。。那个类似按钮的东西是一个flash
#3
aspic2011-02-10 15:56
http://demo.
#4
didozhp2011-02-10 15:58
回复 2楼 aspic
那这个flash要自己写的还是有现成的?
#5
gupiao1752011-02-10 16:02
那是表单里的文件域,<input type="file" name="ff" id="ff">,然后放到表单里就可以了!不过你发的地址是用FLASH做的,用BUUTON模拟了它!JS也可以类似这样,代码如下:

<html>
 <head>
  <title> 按钮模拟文件上传 </title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 </head>
 <body>
 <form method="post" action="#">
 <div style="width:60px;overflow:hidden;position:relative;">
  <input type="button" value="添加附件" style="width:100%;" />
  <input type="file" id="f" style="position:absolute;top:0px;left:-150px;filter:Alpha(opacity=0);opacity:0;-moz-opacity:0;" onchange="javascript:alert('选择的文件是:\n'+this.value);" />
 </div>
 </form>
 </body>
</html>
上面的代码用的是层叠隐藏,实际上点的还是FILE控件!
#6
gupiao1752011-02-10 16:10
其实还有一种方法就是把FILE彻底隐藏,用BUTTON去真正模拟FILE,也就是点BUTTON然后激活FILE,这种效果目前我只知道IE有效,对于非IE,不知道如何激活!参考如下:

<input type="button" id="fff" value="上传" style="width:40px;height:30px;border:1px solid red;"/>
<input type="file" name="ff" id="ff" style="display:none;"/>
<script>
var btn="<input type='button' value='按钮' onclick='javascript:alert(1);'/>";
document.getElementById('fff').onclick=function(){
   document.getElementById('ff').click();
   alert(document.getElementById('ff').value);
  }

  </script>
#7
didozhp2011-02-10 20:28
回复 6楼 gupiao175
很感谢你的回答,我已经在官网上找到了那个swf文件,引用一下代码和swf就行了。
程序代码:

window.onload = function() {
            var settings = {
                flash_url : "../swfupload/swfupload.swf",
                upload_url: "upload.php",
                post_params: {"PHPSESSID" : ""},
                file_size_limit : "100 MB",
                file_types : "*.*",
                file_types_description : "All Files",
                file_upload_limit : 100,
                file_queue_limit : 0,
                custom_settings : {
                    progressTarget : "fsUploadProgress",
                    cancelButtonId : "btnCancel"
                },
                debug: false,

 
                // Button settings
                button_image_url: "images/TestImageNoText_65x29.png",
                button_width: "65",
                button_height: "29",
                button_placeholder_id: "spanButtonPlaceHolder",
                button_text: '<span class="theFont">Hello</span>',
                button_text_style: ".theFont { font-size: 16; }",
                button_text_left_padding: 12,
                button_text_top_padding: 3,
               
                // The event handler functions are defined in handlers.js
                file_queued_handler : fileQueued,
                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,
                queue_complete_handler : queueComplete    // Queue plugin event
            };

 
            swfu = new SWFUpload(settings);
         };

#8
aspic2011-02-10 21:32
flash写的可以多选文件……
#9
gupiao1752011-02-10 22:50
呵呵,可惜我对FLASH不会!只能用JS的思想去实现FLASH的效果!毕竟这里是JAVASCRIPT论坛,发扬一下JS精神还是必须的!
#10
lzh11042011-11-08 09:23
js操作不了客户端程序吧 不然不成病毒了--
1