【发布时间】:2026-02-11 23:30:02
【问题描述】:
我使用 webrequest 上传文件功能。但我对慢速网络中的大文件有错误。所以我想也许缓冲或其他东西对我有帮助
我的代码
Private Shared Function GetFileUploadResponse(ByVal fileToUpload As String, ByVal accessToken As String, ByVal uploadUrl As String) As UploadResponse
Dim client = New WebClient()
client.Headers.Add("Authorization", "OAuth " & accessToken)
Dim responseBytes = client.UploadFile(uploadUrl, fileToUpload)
Dim responseString = Encoding.UTF8.GetString(responseBytes)
Dim response = JsonConvert.DeserializeObject(Of UploadResponse)(responseString)
Return response
End Function
当我尝试上传更大的 100 mb 文件时,错误中止。
我找到了这段代码,但这是用于 FTP 的。我使用普通的网络上传。我尝试修改我的代码,但每次尝试都会出错
Dim request As FtpWebRequest =
WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip")
request.Credentials = New NetworkCredential("username", "password")
request.Method = WebRequestMethods.Ftp.UploadFile
Using fileStream As Stream = File.OpenRead("C:\local\path\file.zip"),
ftpStream As Stream = request.GetRequestStream()
Dim read As Integer
Do
Dim buffer() As Byte = New Byte(10240) {}
read = fileStream.Read(buffer, 0, buffer.Length)
If read > 0 Then
ftpStream.Write(buffer, 0, read)
Console.WriteLine("Uploaded {0} bytes", fileStream.Position)
End If
Loop While read > 0
End Using
【问题讨论】:
-
很高兴您找到了解决方案!但请不要编辑您的问题以表明问题已解决。堆栈溢出不是那样工作的。而是将您的解决方案写为答案,并在时间允许时将其标记为已接受。谢谢!
标签: vb.net file-upload webrequest