Question FTP upload de fichier taille limité à > 2Go

Plus d'informations
il y a 9 ans 11 mois #13223 par UrZA
Re re :)

J'ai regardé la solution proposé et vu mes faibles connaissance je n'ai pas été apte à la mettre en place...:blush:

Mais malgré tout, avec le mot découper Laurent m'a donné une idée, et je me suis dit pourquoi donc ne pas découper les zip ^^.

Moralité j'ai refait mon script afin qu'il envoie tous les fichiers contenu dans un dossier.
L'idée cette fois ci est de faire le listing de tous les fichiers existant dans un dossier et de les envoyer 1 par 1. J'ai tenté avec la boucle foreach. Je me suis \"inspiré\" du post de benduru sur l'explication du foreach

Sauf que j'ai encore une erreur. (Du coup j'ai été banni de mon FTP :pinch:
L'erreur:

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de ligne : 31 Caractère : 11
+ $S.Dispose <<<< ()
+ CategoryInfo : InvalidOperation: (Dispose:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Exception lors de l'appel de « GetRequestStream » avec « 0 » argument(s) : « Le serveur distant a retourné une erreur : (550) Fichier non disponible (par exemple, fichier introuvable, accès impossible). »
Au niveau de ligne : 28 Caractère : 25
+ $S = $R.GetRequestStream <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException


[code:1][System.Reflection.Assembly]::Load
(\"System.Net, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\"«»)
$Repertoire = \"C:\Folder\Serveur\Zip\\"
$Fichiers = Get-ChildItem $Repertoire
Foreach ( $Fichier in $Fichiers )
{
#The full path to the source file.
$Source = \"$($Repertoire)\$($Fichier.Name)\"

#The full destination path (will be created).
$Destination = \"ftp://icietla.net/$($Repertoire)/$($Fichier.Name)\";

#Use the static method Create to create a web request.
#Pass the destination as an argument, and cast it to a FtpWebRequest.
$R=[System.Net.FtpWebRequest][System.Net.WebRequest]::Create($Destination)

#Tell the request how it will login (using a NetworkCredential object)
$R.Credentials = New-Object System.Net.NetworkCredential(\"user@domain.com\", \"*Passwrd*\"«»)

#...and what kind of method it will represent. A file upload.
$R.Method = \"STOR\"

#Here I use the simplest method I can imagine to get the
#bytes from the file to an byte array.
$FileContens = [System.IO.File]::ReadAllBytes($Source)

#Finaly, I put the bytes on the request stream.
$S = $R.GetRequestStream()
$S.Write($FileContens, 0, $FileContens.Length)
$S.Close()
$S.Dispose()[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #13226 par Laurent Dardenne
UrZA écrit:

J'ai regardé la solution proposé et vu mes faibles connaissance je n'ai pas été apte à la mettre en place...:blush:

C'était juste une piste.
UrZA écrit:

et je me suis dit pourquoi donc ne pas découper les zip ^^.

Beau contournement :)

UrZA écrit:

Sauf que j'ai encore une erreur.

Sous dotNET la méthode Close, par convention appel en interne la méthode Dispose(), l'appel à Close suffit.
De plus tu peux l'imbriquer dans une clause Try/Finally, ainsi dans tous les cas tu seras assuré de libérer les ressources.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.048 secondes
Propulsé par Kunena