2009-08-08 5 views
0

In Vb2005 wie simulieren Sie den Dateidownload eines Webbrowsers mit Net.HttpListener?In Vb2005, wie Simulieren Sie den Dateidownload eines Webbrowsers mit Net.HttpListener

Dieses aktuelle Programm funktioniert etwas wie ein Webserver. wie wenn ein Client von einem Web-Browser fragt nach einer Datei kann ich ihnen erlauben, die Datei herunterladen? Zur Zeit wird die Methode dem Browser mitteilen, dass es eine Datei gibt, aber es wird fehlschlagen, nachdem der Client die Datei zum Download bereitgestellt hat. unten ist der Code im Versuch

Dim fname As New IO.FileInfo(cuser.Request.QueryString(itm)) 
           hedlst.Add(Net.HttpRequestHeader.ContentType, "application/octet-stream") 
           hedlst.Add(Net.HttpRequestHeader.ContentEncoding, "UTF-8") 
           hedlst.Add("Content-Disposition", "attachment;filename=""" & fname.Name & """") 
           cuser.Response.ContentEncoding = System.Text.Encoding.UTF8 
           Me.Invoke(xnl, uname & " begining download of file : " & fname.FullName) 
           writeoutstream(cuser.Response, fname.OpenRead, hedlst) 
           Me.Invoke(xnl, uname & " downloaded file : " & fname.FullName) 

    Private Sub writeoutstream(ByRef uret As Net.HttpListenerResponse, ByRef outtxt As IO.Stream, ByVal headers As System.Net.WebHeaderCollection) 
    uret.SendChunked = True 
    uret.Headers = headers 
    outtxt.Position = 0 
    Dim cnl(outtxt.Length) As Byte 
    outtxt.Read(cnl, 0, cnl.Length) 
    uret.OutputStream.Write(cnl, 0, cnl.Length) 
    cnl = Nothing 
    outtxt.Dispose() 
End Sub 

Antwort

0

schließen zu können, muß auf dem abgehenden Strom genannt werden, um den Browser sagen, dass die Datei

erfolgt
Verwandte Themen