"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
en 404-fejl betyder at siden ikke findes - hvis scriptet fejlede ville det nok nærmere være en fejl 500. Hvornår opstår fejlen?



Får du nogle exceptions i din kode. Får du gemt filen på disk? Jeg kunne forestille mig at din 404 kommer når du redirecter til default.aspx eller submit.aspx




Der bliver ikke lagt nogle filer op i mappen, og koden bliver afviklet uden problemer både på serveren og i VS2012.. Jeg tror simpelthen at jeg får den 404 fordi den ikke kan finde mappen.



Kør debug-mode (F5) og sæt et break point i den første if sætning du har i metoden. Step så igennem med F10 og find ud af hvor det går galt.





Det prøver jeg lige Brian :)



Server.Mappath referere til den fysiske sti på serveren hvor et virtuel dir ikke vil optræde..

/J



Jokke det kunne være forklaringen, hvad skal jeg benytte i stedet for så? :)



Jokke det kunne være forklaringen, hvad skal jeg benytte i stedet for så? :)


Det kunne være forklaringen. Men fik du debugget, så du helt sikkert ved hvilket statement det går galt i?



Brian, jep det gjorde jeg - det fejlede her: fiMovUpload.SaveAs(Server.MapPath("~/Movies/" + movname));

:)



Har du prøvet at fjerne Server.MapPath? Så det bare hedder:

Fold kodeboks ind/udCSharp kode 


Evt. uden tilde tegnet ~



Indlæg senest redigeret d. 11.01.2013 09:34 af Bruger #9814
<< < 12 > >>
t