close
問題: 在本機測試可以,但放到Server上使用就出現狀況?
說明: 一個上傳Excel檔案的程式,上傳後要撈裡面的資料出來....

原本的寫法:
0425fileupload1
但會造成一個問題---當程式碼在Server端執行時,會以為要去Server端自己的位置抓資料

比方說,我們使用置於C:/test.xls的本機端資料,
測試時IIS會直接到該位置抓此資料,因為是在本機所以不會出問題。
但當程式放在Server上執行,使用者選擇自己的資料上傳時,
以上程式碼會以為要去Server端的C:/test.xls抓資料,
但事實上那裡並沒有這份檔案,
檔案其實是在使用者本機的C:/test.xls。

所以必須將檔案上傳至Server端之後,才能正確的進行存取動作。
其中這段 string excelocat = Server.MapPath("~/EXCEL");
表示表示將檔案儲存在網頁專案目錄底下的EXCEL資料夾中。

0425fileupload2

後來又考慮到如果檔案一直上傳,
有可能會塞爆空間(?)或是出現檔案名稱重複的狀況,
所以在import完之後將檔案刪除。

0425fileupload3

最後改成有判斷副檔名的版本

0425fileupload4

抓副檔名的方式:
string strxlsfile_fu = System.IO.Path.GetExtension(strxlsfile);


記得確認fileupload元件確實是使用目前視窗的那一個阿....
我為了搞錯元件名稱多花了半小時在debug

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 reynard0802 的頭像
    reynard0802

    嶄新的旅程

    reynard0802 發表在 痞客邦 留言(0) 人氣()