这几天在做个项目,其中用到了SWFUpload进行多图上传.当用vs2010启动调试的时候,问题出现了,当我用Chorme浏览器的时候,可以看到这可爱的flash按钮.当我用IE9打开的时候,死活看不到.然后我在IE9中打开SWFUpload的官网,查看demo,确可以看到的.这让我很不解,于是我又将flash链接地址修改成远程的.
引用的文件:
<script type="text/javascript" src="Scripts/swfupload.js"></script> <script type="text/javascript" src="Scripts/swfupload.queue.js"></script> <script type="text/javascript" src="Scripts/fileprogress.js"></script> <script type="text/javascript" src="Scripts/handlers.js"></script>
未修改前代码:
<script type="text/javascript"> var swfu; window.onload = function () { var settings = { flash_url: "Scripts/swfupload.swf", upload_url: "Picture/upload.aspx", post_params: { "PHPSESSID": "zzwpower" }, file_size_limit: "200 KB", file_types: "*.jpg;*.png;*.gif", file_types_description: "Image 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_ "85", button_height: "25", button_placeholder_id: "spanButtonPlaceHolder", button_text: '<span class="theFont">选择上传文件</span>', button_text_style: ".theFont { font-size: 12;background:#CCC;}", button_text_left_padding: 2, button_text_top_padding: 0, button_cursor: SWFUpload.CURSOR.HAND, // 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); }; </script>
修改后:
flash_url: "http://demo.swfupload.org/v220/swfupload/swfupload.swf",
问题解决.但这不是最终的办法.
于是乎用了一招惊天地泣鬼神的绝招,用iis创建站点,结果奇迹出现了,欢呼吧,舞蹈吧.用本地路径在iis中可以正常显示,为什么在vs调试站点中不能正确显示呢?人家Chorme都兼容的很好,为什么微软自己IE9却不能正确显示呢?
至于深层问题没有研究,总之问题是解决了.到此为止.