2017-05-15 202 views
0

部署後,我試圖用Azure的錯誤,訪問被拒絕

string biodataPath = Server.MapPath("~/Content/UserImages/"); 

string fullBiodataPath = Path.Combine(biodataPath, guid.ToString() + extension); 

保存爲PDF文件的目錄,但我得到一個錯誤

Could not find a part of the path 'D:\home\site\wwwroot\Content\UserImages\6d8938df-aa4f-40e4-96e3-b2debb6ed992.png' 

我已經加入Content\UserImages目錄通過ftp連接wwwroot。如何解決這個問題?

回答

0

我已經在wwwroot中通過ftp連接添加了Content \ UserImages目錄。如何解決這個問題?

如果該目錄不存在,您可以嘗試創建該目錄。

string biodataPath = Server.MapPath("~/Content/UserImages/"); 

if (!Directory.Exists(biodataPath)) 
{ 
    DirectoryInfo di = Directory.CreateDirectory(biodataPath); 
} 

此外,如果可能的話,你可以存儲在您的Azure Blob storage靜態文件。

編輯: 我把源圖像SourceImg.pngUserImages文件夾,我可以讀取源文件到字節數組,並將其寫入到其他的FileStream。

string biodataPath = Server.MapPath("~/Content/UserImages/"); 
string pathSource = biodataPath + "SourceImg.png"; 

//the following code will create new file named 6d8938df-aa4f-40e4-96e3-b2debb6ed992.png 
string pathNew = Server.MapPath("~/Content/UserImages/") + "6d8938df-aa4f-40e4-96e3-b2debb6ed992.png"; 

try 
{ 

    using (FileStream fsSource = new FileStream(pathSource, 
     FileMode.Open, FileAccess.Read)) 
    { 
     byte[] bytes = new byte[fsSource.Length]; 
     int numBytesToRead = (int)fsSource.Length; 
     int numBytesRead = 0; 
     while (numBytesToRead > 0) 
     { 
      int n = fsSource.Read(bytes, numBytesRead, numBytesToRead); 

      if (n == 0) 
       break; 

      numBytesRead += n; 
      numBytesToRead -= n; 
     } 
     numBytesToRead = bytes.Length; 

     // Write the byte array to the new FileStream. 
     using (FileStream fsNew = new FileStream(pathNew, 
      FileMode.Create, FileAccess.Write)) 
     { 
      fsNew.Write(bytes, 0, numBytesToRead); 
     } 
    } 
} 
catch (FileNotFoundException ioEx) 
{ 
    Console.WriteLine(ioEx.Message); 
} 

如果我檢查UserImages文件夾,我能找到的6d8938df-aa4f-40e4-96e3-b2debb6ed992.png創建。

enter image description here

+0

是否因爲某些許可問題?使用(var docFile = new FileStream(fullBiodataPath,FileMode.Create,FileAccess.ReadWrite)) docFile.Write(bytesBiodata,0,bytesBiodata.Length); docFile.Flush(); } ------這是好嗎? – sreejith

+0

同時在項目運行時不能將其存儲在此處。現在Iam得到這個----找不到路徑的一部分'D:\ home \ site \ wwwroot \ Content \ UserImages \ f79571e6-8410-4b87-b1a4-3af4c702b1fc.png'。 – sreejith

+0

我編輯了我的回覆,請參閱它。 –