無效的過程調用或參數: 'Instr'解決方法


以前我一直使用ASP無組件上傳類來上傳文件。但是今天又個客戶反映說。不能上傳。出現錯誤。,但在我電腦上測試沒問題。后來發現客戶用的是IE8

於是開始找解決方法

錯誤如下:
Microsoft VBScript 運行時錯誤 錯誤 '800a0005' 無效的過程調用或參數: 'Instr'
出錯的原因,是IE7/Firefox3中,上傳文件時不再包含文件在本地的完整路徑,而只有文件名。這使得原有的文件名提取機制出錯。上面的錯誤,就是因為Instr函數中的參數出錯了。受到牽連的還有上傳圖片時,用JavaScript預覽圖片的功能。
解決方法:
1、治標方式。 IE7以上版本其實把文件上傳是否發送完整的本地路徑做成一個選項,在IE的Internet選項中可以設置。如下圖:

 

圖一,點擊瀏覽器的工具----》Internet安全選項
 
圖二,完整路徑選項設置----》設置為啟動
由於默認是禁用的,所以會出現問題,把它啟用就可以解決問題了。但這是治標的方法,如果網頁是面向普通用戶的,你不可能要求所有用戶都來改變這個設置。
 

2、治本。 治本的方法只能靠改程序了。對於圖片預覽的,目前我還沒有很好的方法獲取到圖片的本地完整路徑,所以只能通過判斷瀏覽器的版本,如果是IE7/FireFox3的版本,就提示不支持預覽。對於上傳文件功能的判斷,問題既然知道原因了,解決的方法自然也就手到擒來了。在操作文件名是,注意是單純的文件名,而非完整文件路徑。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM