"Upload" af fil til en Virtuel Directory asp.net C#

Tags:    virtuel directory c# iis7

<< < 12 > >>
Hej Udvikleren,

Jeg arbejder på en applikation til min medieserver, og jeg er løbet ind i et mindre problem. Jeg har oprettet en Virtuel Directory i IIS7 under min side. Jeg kan addresse den hvis jeg skriver url/VirtuelDirectory - så ingen problemer der.

Problemet kommer når jeg skal lægge filer ind i mappen vha. asp.net.
Jeg får en fejl 404, og det forstår jeg virkelig ikke - det synes jeg ikke virker helt logisk, men nu har jeg også kodet det meste af dagen så.. :roll:

Men her kommer koden der skulle køre det:

protected void btnSubmit_Click(object sender, EventArgs e)
{
if (fiUpload.HasFile)
{
DataClassesDataContext db = new DataClassesDataContext();
string filename = Path.GetFileName(fiUpload.FileName);
fiUpload.SaveAs(Server.MapPath("~/image/" + filename));
string movname = Path.GetFileName(fiMovUpload.FileName);
/*string pathToMov = Request.MapPath("/Movies", Request.ApplicationPath, true);*/
fiMovUpload.SaveAs(Server.MapPath("~/Movies/" + movname));

var img = new MediaControl_Image();
img.imageName = filename;
img.imagePath = "../image/" + filename;
img.MovieName = txtMovName.Text;
img.MoviePath = "../Movies/" + movname;


db.MediaControl_Images.InsertOnSubmit(img);
db.SubmitChanges();
Response.Redirect("Submit.aspx");
}
else
{
Response.Redirect("Default.aspx"); /*Ændres til throw new exception - samt logging i database..
}

}

Kan I se hvorfor at den ikke vil "uploade" filerne til mappen og forklare hvorfor? :B

Mvh.
Simon



14 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hejsa Simon

Som allerede sagt så er problemet at du skal lave en virtuel path om til en fysisk.
Prøv dette:
Fold kodeboks ind/udCSharp kode 


Er dit Virtual directory "/Movies/"?

404 referer til din url, altså den ikke kan finde siden. Så det er ikke usandsynligt det er dine redirects der giver dig problemer.



csharper

Jeps, "/Movies/" er mit virtual Directory.

Hmm mine redirects virker fint hvis jeg fjerner den kode der har med movies at gøre. :)

Fold kodeboks ind/udCSharp kode 


Hjælper ikke på det :/ Ej heller de andre forslag.


Edit:
Jeg har ændret størrelsen af de filer jeg tillader i systemet - nu får jeg en fejl 500, hvor jeg får fik en fejl 404.



Indlæg senest redigeret d. 11.01.2013 15:24 af Bruger #16146
Godt nok er tråden et par dage gammel, men har IIS brugeren skriveadgang til mappen?



du skal jo.. forhelvede skrive til den fysiske sti på harddisken, hvis du absolut skal benytte virtual directories i 2013 :).. sry

Server.MapPath(Movie)
~/Movies vil aldrig eksistere.

Det er kun IIS der er en "mappe" der hedder movies, på disk ligger den et andet sted.

@Nicky, hvis der er rettighedsproblemer, vil han i dag blive notificeret om det.

/J



Indlæg senest redigeret d. 29.01.2013 08:25 af Bruger #5789
<< < 12 > >>
t