2013-03-10 26 views
-1

正常工作,這是我的代碼是寫在一個類中的主目錄下的子文件夾:在MapPath和的FileStream在外部類沒有按不上服務器

string c = global.RandomCode(32) + "." + ext; 
using (FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(@"..\adimgs\"+c),FileMode.CreateNew,FileAccess.Write)) 
{ 
    byte[] a = Convert.FromBase64String(img); 
    fs.Write(a, 0, a.Length); 
} 

這部作品在本地主機,但不是很大服務器端。因爲我使用jquery和一個有大量發佈數據的頁面調用這個類中的函數,我沒有看到一個錯誤來確定問題。

我寫了一個保存數據庫中HttpContext.Current.Server.MapPath(@「.. \ adimgs \」+ c)的代碼,結果如預期。文件流(在localhost中有效)肯定有問題,可能會導致一些訪問授權問題。任何人都可以告訴我這個代碼有什麼問題嗎?

+0

究竟是什麼「不工作」?你有什麼錯誤,如果有的話?您是否嘗試過使用try/catch將錯誤記錄到您的數據庫中? – 2013-03-10 20:21:17

+0

@MichaelEdenfield我沒有得到和錯誤,因爲它與jquery調用,如果有一個錯誤,它並沒有反映在頁面被查看。但使用catch來記錄錯誤是個好主意,我們試試吧。 – 2013-03-10 20:24:28

+0

@MichaelEdenfield錯誤是:訪問路徑'D:\ inetpub \ vhosts \ ... \ ads \ adimgs \ d4cc74b1aa7a44dc85e838776983d122.png'被拒絕。但爲什麼? – 2013-03-10 20:29:30

回答

0

我給IIS用戶寫入權限,問題解決了

0

使用用於映射的波浪語法正確:

〜/

是應用程序(或網站)

HttpContext.Current.Server.MapPath根(「〜/路徑/子路徑/file.ext「);

+0

正如我所說我已經檢查了映射及其正確性。現在我發現了錯誤。錯誤是:訪問路徑'D:\ inetpub \ vhosts \ ... \ ads \ adimgs \ d4cc74b1aa7a44dc85e838776983d122.png'被拒絕。但爲什麼? – 2013-03-10 20:31:33

+1

也許您必須授予IUSR用戶的讀/寫權限 – 2013-03-10 21:02:48

相關問題