Gå til innhold

Problemer med en file-upload


Anbefalte innlegg

Skrevet

Sliter littt med en helt vanlig POST mot serveren min.

 

Prøvde først en

 

Request.Files[0].SaveAs(...);

 

Men dette funket ikke. Fant senere ut at Request.Files.Count gav 0 :(

 

Har prøvd å laste opp både via web, med en liten form som poster mot scriptet mitt, hvor det er definert method="multipart/form-data", og via en applikasjon, som bruker System.Net.WebClient.UploadFile(...); men ingen av disse fungerer.

 

Jeg forsøkte da en litt utvidet sak:

 

       string path = Server.MapPath("~");
       string filename = @"Incoming\upload.xml";

       int len = (int)Request.InputStream.Length * 1024;
       byte[] buffer = new byte[len];
       Request.InputStream.Read(buffer, 0, len);

       FileStream fs = new FileStream(path + "\\" + filename, FileMode.Create);
       fs.Write(buffer, 0, len);
       fs.Close();

 

Denne opprettet en fil på korrekt størrelse, men den inneholdt lite spennende.

 

Og nå sitter jeg egentlig litt fast :(

 

Hjelp? :cry:

Videoannonse
Annonse
Skrevet (endret)

Kan denne funksjonen hjelpe (asp.net 2.0)?

 

I webform:

 

<form id="FrmPublish" method="post" runat="server" encType="multipart/form-data">

 

Code behind:

 


Imports System.IO

Private Function UploadFile(ByVal InputFile As HtmlInputFile, ByVal SaveLocation As String) As String
       Dim strFileName As String = ""
       Try

           If (InputFile.PostedFile.ContentLength > 0) Then
               Dim strClientPath As String = InputFile.PostedFile.FileName
               Dim strFileNameWE As String = Path.GetFileNameWithoutExtension(strClientPath)
               Dim strFileExt As String = Path.GetExtension(strClientPath)
               Dim strFilePath As String

               If (System.IO.Directory.Exists(SaveLocation)) Then
                   Dim I As Integer = 0
                   strFileName = strFileNameWE + strFileExt
                   strFilePath = SaveLocation + "\" + strFileName

                   'Already exixts? - Rename
                   While (System.IO.File.Exists(strFilePath) = True And I < 500)
                       I = I + 1
                       strFileName = strFileNameWE + I.ToString + strFileExt
                       strFilePath = SaveLocation + "\" + strFileName
                   End While
                   InputFile.PostedFile.SaveAs(strFilePath)
               End If
           End If
       Catch Ex As Exception
           Throw New Exception("Feil, kan ikke laste opp fil til webserver", Ex)
       End Try
       Return strFileName
   End Function

 

mvh,

 

OveM

Endret av OveM
Skrevet

Det hjelper lite. Det er et eksternt program som skal uploade filen, så jeg har ikke noe aksess til "uploadedFile" eller lignende. Jeg må bare lagre det som kommer i POST (som da er en xml-fil)

Skrevet (endret)

Nå har jeg prøvd både upload manageren til Persist og Chestysoft. Begge disse gir meg en FileCount på 0! Nå har jeg et problem her. Ingen av de gir noen feilmelding, men begge sier det ikke er noen fil der.

 

Request.Files.Count gir meg også 0. hjeeelp? :cry:

 

csNetUploadTrial.UploadClass upload = new csNetUploadTrial.UploadClass();
Response.Write("Filecount chestysoft: " + upload.FileCount);

ASPUPLOADLib.IUploadManager objUpload = new ASPUPLOADLib.UploadManager();

Response.Write(Environment.NewLine + "Filecount persist: " + objUpload.TotalBytes);

Response.Write(Environment.NewLine + "Filecount ASP.NET 2.0: " + Request.Files.Count);

 

Denne gir da såklart:

 

Filecount Chestysoft: 0

Filecount persist: 0

Filecount ASP.NET 2.0: 0

Endret av Manfred

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...