Upload ftp d'1 image du disque local vers serveur

amateurasp 1 Messages postés lundi 13 août 2018Date d'inscription 13 août 2018 Dernière intervention - 13 août 2018 à 01:40
Bonjour, je voudrais "uploader" une image de mon disque dur local vers un serveur distant via ftp.
ça fonctionne bien avec un fichier texte mais lorsque j'upload une image, celle-ci se trouve bien sur le serveur au bon endroit avec la bonne extension mais impossible de lire l'image -> : "l'image ne peut être affichée car elle contient des erreurs". (À savoir, après l'upload, le poids du fichier coté serveur pèse le double du poids de l'image coté local).

vous trouverez les codes sources ci-dessous :

MAPAGE1.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="VB.aspx.vb" Inherits="VB" Debug="True"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server"/>
<asp:Button ID="Button1" Text="Upload to FTP" runat="server" OnClick="FTPUpload" />
<hr />
<asp:Label ID="lblMessage" runat="server" />
</form>
</body>
</html>

VB.ASPX.vb

Imports System.IO
Imports System.Net
Imports System.Web

Partial Class VB
Inherits System.Web.UI.Page

Protected Sub FTPUpload(sender As Object, e As EventArgs)
'FTP Server URL.
Dim ftp As String = "ftp://MONserver.com/"

'FTP Folder name. Leave blank if you want to upload to root folder.
Dim ftpFolder As String = "httpdocs/"

Dim fileBytes As Byte() = Nothing

'Read the FileName and convert it to Byte array.
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
'Create FTP Request.
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(ftp & ftpFolder & fileName), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile

'Enter FTP Server credentials.
request.Credentials = New NetworkCredential("MONusername", "MONpassword")
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
End Class

MON Web.Config :

<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<identity impersonate="false"/>
<customErrors mode="Off"/>
<trust level="Full"/>
<globalization
culture="fr-FR"
uiCulture="fr-FR"/>

<!-- 50MB in kilobytes, default is 4096 or 4MB-->
<httpRuntime maxRequestLength="102400" />

<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>

</system.web>

<system.webServer>
<security>

<requestFiltering>
<!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->
<requestLimits maxAllowedContentLength="104857708" />
</requestFiltering>
</security>
</system.webServer>

</configuration>

Je serais ravi de savoir d'où vient le problème.. merci d'avance..
Afficher la suite 

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.