这几天在做个项目,其中用到了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却不能正确显示呢?
至于深层问题没有研究,总之问题是解决了.到此为止.