Avatar billede donca Nybegynder
13. februar 2006 - 04:56 Der er 2 kommentarer og
1 løsning

uploade fil gennem http protocol

Jeg ville gerne have uploaded en fil gennem http protocol, da filen skal behandles af en php-fil.. kan man det?

for bedre at vise det, vil jeg lave det jeg vil have fra HTML til brugbart i en VB application.

<Form action="http://domain.tk/upload.php" method="POST">
<Input type="file" accept="rnd.key" name="keyfile">
<input type="submit">
</form>


den uploaded fil, skulle gerne kunne behandles af upload.php på serveren.. kan man det?
Avatar billede arne_v Ekspert
13. februar 2006 - 13:19 #1
jeg lavede engang det her eksempel paa en 2 fils upload:

Imports System
Imports System.IO
Imports System.Net

Public Class FileUpload
    Private Const BOUNDARY As String = "ArneArne"

    Public Shared Sub Main(ByVal args As String())
        upload("http://localhost/upload2.php", "C:\size.exe")
        upload("http://localhost/upload2.php", "C:\big.exe")
    End Sub

    Public Shared Sub upload(ByVal url As String, ByVal binfile As String)
        Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
        req.Method = "POST"
        req.ContentType = "multipart/form-data, boundary=" + BOUNDARY
        Dim post As StreamWriter = New StreamWriter (req.GetRequestStream)
        post.WriteLine("--" + BOUNDARY)
        post.WriteLine("Content-disposition: attachment; name=""filename[1]""; filename=""" + binfile + """")
        post.WriteLine("Content-type: application/octet-stream")
        post.WriteLine("Content-Transfer-Encoding: binary")
        post.WriteLine("")
        post.Flush
        Dim binf As Stream = New FileStream (binfile, FileMode.Open)
        Dim c As Integer
        While (c = binf.ReadByte) >= 0
            post.BaseStream.WriteByte(CType(c, Byte))
        End While
        binf.Close
        post.BaseStream.Flush
        post.Close
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Console.WriteLine(resp.StatusCode)
        resp.Close
    End Sub
End Class
Avatar billede donca Nybegynder
13. februar 2006 - 15:44 #2
Viste der var en form for "fake" signal, men er ikke selv en ørn til HTTP protocol.. mange tak for eksemplet, det vil gavne mig den viden jeg skal bruge :)

point?
Avatar billede arne_v Ekspert
13. februar 2006 - 16:01 #3
det virkede mod mit PHP script

jeg mener at kunne huske at da jeg skulle uploade til et JSP script maatte jeg
rette nogle smaafejl, fordi JSP scriptet var meget mere picky end PHP scriptet

men du skulle ihvertfald have keywordene nu

og et svar
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