Avatar billede beef12 Nybegynder
21. oktober 2006 - 22:46 Der er 14 kommentarer og
1 løsning

Problemer med Http upload method

Jeg forsøger at uploade en fil vha denne lille metode:       

private void button1_Click(object sender, EventArgs e)
        {
            WebClient Client = new WebClient();
            try
            {
                Client.UploadFile("http://www.xxxxxxx.dk/files", "c:\\data\\Book1.xls");
            }
            catch (WebException wEx)
            {
                MessageBox.Show(wEx.ToString());
            }
        }

Men får en fejl: The Remote server returned an error (405) Method not allowed

Nogen der ved hvad det betyder? Jeg har lirket webserveret godt op, vil jeg mene - med skriverettigheder osv. Webserveren er en IIS 6.0
Avatar billede arne_v Ekspert
21. oktober 2006 - 22:52 #1
Jeg tror at du misforstod mig i det forrige spørgsmål.

Du uploader til en .aspx !
Avatar billede beef12 Nybegynder
21. oktober 2006 - 22:57 #2
Mener du at jeg kun kan uploade aspx filer?. Jeg vil gerne kunne uploade enhver form for fil.
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:03 #3
nej

du kan uploade enhver type fil

men du uploader til en aspx fil
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:03 #4
aspx filen modetager den uploadede fil og gemmer den i et passende dir
Avatar billede beef12 Nybegynder
21. oktober 2006 - 23:10 #5
Okay - det forstår jeg ikke noget af. Jeg følger følgende vejledning.

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("user", "password");
wc.UploadFile("http://localhost/orwherever/filename.xml", "PUT", @"c:\sourcefile.xml");

Hvordan skulle jeg så specifice aspx filen og hvordan skal den udformes osv? Det har jeg ikke stødt på endnu
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:27 #6
det kræver at serveren understøtter PUT
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:28 #7
jeg kan lave et eksempel med POST til en .aspx
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:30 #8
WebClient cli = new WebClient();
            cli.UploadFile("http://localhost/upload.aspx", @"C:\s1.txt");
Avatar billede arne_v Ekspert
21. oktober 2006 - 23:31 #9
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    Request.Files[0].SaveAs(@"C:\Inetpub\wwwroot\upload\" + System.IO.Path.GetFileName(Request.Files[0].FileName));   
}
</script>
Avatar billede beef12 Nybegynder
21. oktober 2006 - 23:48 #10
nu siger den Internal server error fejl 500...

Jeg tror jeg dropper det og bruger enten Sockets eller en Webservice, for jeg begynder at blive en smule frustreret :-(
Avatar billede arne_v Ekspert
22. oktober 2006 - 00:31 #11
koden virker hos mig !

har du rettet stien til ?
Avatar billede beef12 Nybegynder
22. oktober 2006 - 01:02 #12
Ja. Mon ikke det bare er min webserver der er tåbelig

Nu har jeg vha .NET.Sockets lavet en TCPClient og en TCPListener og det virker egentlig meget godt.
Avatar billede arne_v Ekspert
22. oktober 2006 - 01:16 #13
har du giver ASPNET brugernavnet skrive adgang til det dir ?
Avatar billede beef12 Nybegynder
30. oktober 2006 - 23:20 #14
arne - snup du bare points som tak for besværet. Jeg holder mig til TcpClient + Listener btw. Det virker rigtig godt.
Avatar billede arne_v Ekspert
31. oktober 2006 - 01:33 #15
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester