Mam tę funkcję, która pobiera dane pliku jako tablicę bajtów i ścieżkę do pliku. Otrzymuję błąd, gdy próbuje ustawić fileInfo w kodzie bewlo. To mówi 'Ścieżka fizyczna podane oczekuje Virtual Path'Konwertuj ze ścieżki fizycznej na ścieżkę wirtualną
public override void WriteBinaryStorage(byte[] fileData, string filePath)
{
try
{
// Create directory if not exists.
System.IO.FileInfo fileInfo = new System.IO.FileInfo(System.Web.HttpContext.Current.Server.MapPath(filePath)); //when it gets to this line the error is caught
if (!fileInfo.Directory.Exists)
{
fileInfo.Directory.Create();
}
// Write the binary content.
System.IO.File.WriteAllBytes(System.Web.HttpContext.Current.Server.MapPath(filePath), fileData);
}
catch (Exception)
{
throw;
}
}
Podczas debugowania go, jest zapewnienie filePath jak "E:\\WEBS\\webapp\\default\\images\\mains\\myimage.jpg"
. A komunikat o błędzie jest
'E:/WEBS/webapp/default/images/mains/myimage.jpg' is a physical path, but a virtual path was expected.
Ponadto, co jest wyzwalanie tak się stało jest następująca rozmowa
properties.ResizeImage(imageName, Configurations.ConfigSettings.MaxImageSize, Server.MapPath(Configurations.EnvironmentConfig.LargeImagePath));
Mogę wiedzieć dlaczego negatywne głosy Jestem nowym do C#. Proszę być ostrożnym – user710502
Czy rozumiesz, co robi 'MapPath' i co twój kod próbuje zrobić? – SLaks
To jest istniejący kod, nie napisałem go .. Rozumiem, że MapPath to funkcja, która zajmie ścieżkę wirtualną i przetłumaczy ją na ścieżkę serwerów ?, ale znowu jestem nowy i może z tego powodu nie widać. Nie będąc niegrzecznym, przyszedłem na to forum, aby zadać pytanie, którego nie jestem pewien. Nie ma potrzeby głosowania w dół. Wyobrażam sobie, że to właśnie fora są przeznaczone na nie? Poza tym pójdę profilować profil i zrobię kilka negatywnych głosów tylko dlatego, że tak jest. – user710502