之前我一直使用ASP無組件上傳類來上傳文件。可是今天又個客戶反映說。不能上傳。出現錯誤。,但在我電腦上測試沒問題。後來發現客戶用的是IE8瀏覽器
因而開始找解決方法安全
錯誤以下:
Microsoft VBScript 運行時錯誤 錯誤 '800a0005' 無效的過程調用或參數: 'Instr'
出錯的緣由,是IE7/Firefox3中,上傳文件時再也不包含文件在本地的完整路徑,而只有文件名。這使得原有的文件名提取機制出錯。上面的錯誤,就是由於Instr函數中的參數出錯了。受到牽連的還有上傳圖片時,用JavaScript預覽圖片的功能。
解決方法:
一、治標方式。 IE7以上版本其實把文件上傳是否發送完整的本地路徑作成一個選項,在IE的Internet選項中能夠設置。以下圖:函數
二、治本。 治本的方法只能靠改程序了。對於圖片預覽的,目前我尚未很好的方法獲取到圖片的本地完整路徑,因此只能經過判斷瀏覽器的版本,若是是IE7/FireFox3的版本,就提示不支持預覽。對於上傳文件功能的判斷,問題既然知道緣由了,解決的方法天然也就手到擒來了。在操做文件名是,注意是單純的文件名,而非完整文件路徑。工具