/ / UnauthorizedAccessException pri ukladaní súboru, ale môže vytvoriť adresár - c #, model-view-controller, asp.net-mvc-5

UnauthorizedAccessException pri ukladaní súboru, ale môže vytvoriť adresár - c #, model-view-controller, asp.net-mvc-5

Snažím sa uložiť súbor na disk, ale dostanemUnauthorizedAccessException. Chyba hovorí, že musím dostať správne povolenia na priečinok, a ja som sa snažil všetkých možných užívateľov môžem nájsť, ale to nie je práca.

Vyskúšali nasledujúcich používateľov

  • sieť
  • Služby siete
  • iusr
  • IUSR_ [ComputerName]

A s plnými právami bez toho, aby to fungovalo.

To, čo považujem za naozaj zvláštne, je, že si vytvorímadresár predtým, než sa pokúsim súbor uložiť a to funguje perfektne, je to pri pokuse o uloženie súboru do nového adresára, ktorý dostávam UnautorhizedAccessException.

Kód je nasledujúci:

    [HttpPost]
public ActionResult Images(HttpPostedFileBase file, string boatId)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Content/Images/" + boatId));
Directory.CreateDirectory(path);
file.SaveAs(path);

}
return View($"Filen på {boatId} har laddats upp");
}

Akékoľvek nápady na to, čo mi chýba?

odpovede:

1 pre odpoveď č. 1

Ukázalo sa, čo som sa snažil urobiť, bolo uloženie priečinka a nie súbor, zabudol som kombinovať fileName s cestou.

Zmenila časť Uložiť na nasledujúce položky:

file.SaveAs(Path.Combine(path, fileName));

Čo vyriešilo celú vec pre mňa.