Encoding 为什么在asp.net类(vb)中使用FTPUpload发布错误的字符?
我正在使用该类通过FTP将一些图像从一台服务器上载到另一台服务器:Encoding 为什么在asp.net类(vb)中使用FTPUpload发布错误的字符?,encoding,ftpwebrequest,Encoding,Ftpwebrequest,我正在使用该类通过FTP将一些图像从一台服务器上载到另一台服务器: Protected Sub FTPUpload(sender As Object, e As EventArgs) Dim ftp As String = "ftp://IPSERVER" Dim login As String = "ftplogin" Dim Mpass As String = "ftpmpass" Dim ftpFolder As String = "serverp
Protected Sub FTPUpload(sender As Object, e As EventArgs)
Dim ftp As String = "ftp://IPSERVER"
Dim login As String = "ftplogin"
Dim Mpass As String = "ftpmpass"
Dim ftpFolder As String = "serverpath"
Dim fileBytes As Byte() = Nothing
Dim fileName As String = Path.GetFileName(FileUpload1.FileName)
Using fileStream As New StreamReader(FileUpload1.PostedFile.InputStream)
fileBytes = Encoding.UTF8.GetBytes(fileStream.ReadToEnd())
fileStream.Close()
End Using
Try
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(ftp & ftpFolder & fileName), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(login, Mpass)
request.ContentLength = fileBytes.Length
request.UsePassive = True
request.UseBinary = True
request.ServicePoint.ConnectionLimit = fileBytes.Length
request.EnableSsl = False
Using requestStream As Stream = request.GetRequestStream()
requestStream.Write(fileBytes, 0, fileBytes.Length)
requestStream.Close()
End Using
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
lblMessage.Text &= fileName & " uploaded.<br />"
response.Close()
Catch ex As WebException
Throw New Exception(TryCast(ex.Response, FtpWebResponse).StatusDescription)
End Try
End Sub
将以ftp的形式返回,如下所示:
IHDR � � ��7= TPLTEGpL큅�������� (���� +���������ҹ������
请问我哪里错了?没关系。我不需要做任何UTF编码,只需要抓取字节
fileStream = ImageUpload.PostedFile.InputStream
Dim fileBytes(0 to fileStream.Length - 1) as Byte
fileStream.Read(fileBytes, 0, fileBytes.Length)
fileStream.Close()
fileStream = ImageUpload.PostedFile.InputStream
Dim fileBytes(0 to fileStream.Length - 1) as Byte
fileStream.Read(fileBytes, 0, fileBytes.Length)
fileStream.Close()