Pb download

Le
Emilie
Bonjour



Je veux installer sur mon site web un donwload pour permettre aux
internautes de télécharger une police de caractère, sur le code ci-dessous
vbUnicode est surligné avec le message vbUnicode n'est pas déclaré je
suppose qu'il me faut ajouter un <%@ Import Namespace= ?, mais je ne vois
pas lequel



'Declaration de l'API

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile As String) As Long

Private Sub Command1_Click()

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

End Sub



D'autre part je voudrais à la connection vérifier sur le PC client si ce
fichier existe avant d'afficher l'API, quel code dois-je écrire



J'ai trouvé ce code, mais je ne vois pas comment l'intégrer dans mon code,
comment déclencher la fonction et où déclarer le FilePath ?



''' <summary>

''' Télecharge un fichier depuis le serveur Web vers le poste client.

''' </summary>

''' <param name="FilePath">Chemin d'accès absolu du fichier sur le
serveur</param>

''' <returns>retourne True si l'opération s'est correctement
déroulée.</returns>

''' <remarks></remarks>

Private Function DownloadFile(ByVal FilePath As String) As Boolean



Dim myFileStream As New System.IO.FileStream(FilePath, _

System.IO.FileMode.Open, _

System.IO.FileAccess.Read, _

System.IO.FileShare.Read)

Try

If myFileStream.CanRead() Then

Response.Clear()

Response.ContentType = "application/octet-stream"



' get the filename

Dim myFileName As String =
System.IO.Path.GetFileName(FilePath)

Response.AddHeader("Content-Disposition", "attachment;
filename=" & myFileName)

' Set the buffer that will receive the data from the file

Dim myBuffer(4096) As Byte

' Setup the Time out in seconds according to file size

Server.ScriptTimeout = 3600

While True

' Check if the client is still connected

If Not Response.IsClientConnected Then

Exit While

End If

' read data from the file

Dim myNumberOfBytesRead As Integer =
myFileStream.Read(myBuffer, 0, 4096)

If myNumberOfBytesRead = 0 Then

Exit While

End If

' Write the data to the current output stream.

Response.OutputStream.Write(myBuffer, 0,
myNumberOfBytesRead)

' Flush the data to the HTML output.

Response.Flush()

End While

End If

Catch ex As Exception

Throw ex

Finally

myFileStream.Close()

myFileStream.Dispose()

Response.End()

End Try

Return True

End Function

Merci d'avance pour votre aide



Emilie
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #18385521
Bonjour Emilie,

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

semble être du VB6.

Gillard m'a donné ceci pour télécharger en .Net :

Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii, unicode,
utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


Stéphane


"Emilie" 496c4a39$0$18380$
Bonjour



Je veux installer sur mon site web un donwload pour permettre aux
internautes de télécharger une police de caractère, sur le code ci-dessous
vbUnicode est surligné avec le message vbUnicode n'est pas déclaré je
suppose qu'il me faut ajouter un <%@ Import Namespace= ?, mais je ne vois
pas lequel



'Declaration de l'API

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile As String) As Long

Private Sub Command1_Click()

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

End Sub



D'autre part je voudrais à la connection vérifier sur le PC client si ce
fichier existe avant d'afficher l'API, quel code dois-je écrire



J'ai trouvé ce code, mais je ne vois pas comment l'intégrer dans mon code,
comment déclencher la fonction et où déclarer le FilePath ?



''' <summary>

''' Télecharge un fichier depuis le serveur Web vers le poste client.

''' </summary>

''' <param name="FilePath">Chemin d'accès absolu du fichier sur le
serveur</param>

''' <returns>retourne True si l'opération s'est correctement
déroulée.</returns>

''' <remarks></remarks>

Private Function DownloadFile(ByVal FilePath As String) As Boolean



Dim myFileStream As New System.IO.FileStream(FilePath, _

System.IO.FileMode.Open, _

System.IO.FileAccess.Read, _

System.IO.FileShare.Read)

Try

If myFileStream.CanRead() Then

Response.Clear()

Response.ContentType = "application/octet-stream"



' get the filename

Dim myFileName As String =
System.IO.Path.GetFileName(FilePath)

Response.AddHeader("Content-Disposition", "attachment;
filename=" & myFileName)

' Set the buffer that will receive the data from the file

Dim myBuffer(4096) As Byte

' Setup the Time out in seconds according to file size

Server.ScriptTimeout = 3600

While True

' Check if the client is still connected

If Not Response.IsClientConnected Then

Exit While

End If

' read data from the file

Dim myNumberOfBytesRead As Integer =
myFileStream.Read(myBuffer, 0, 4096)

If myNumberOfBytesRead = 0 Then

Exit While

End If

' Write the data to the current output stream.

Response.OutputStream.Write(myBuffer, 0,
myNumberOfBytesRead)

' Flush the data to the HTML output.

Response.Flush()

End While

End If

Catch ex As Exception

Throw ex

Finally

myFileStream.Close()

myFileStream.Dispose()

Response.End()

End Try

Return True

End Function

Merci d'avance pour votre aide



Emilie










Emilie
Le #18392921
Bonjour Stéphane

Merci pour ton code, mais peux-tu me donner des précisions complémentaires

-1- Le fichier à télécharger (de mon serveur vers le client) se trouve sur
C:/fichiers/Fnt4.ttf
comment l'écrire dans DisplayDownloadBox
-2- Peux-t-on vérifier l'existance de ce fichier sur le client avant de
proposer le téléchargement
-3- Peux-t-on indiquer le chemin sur le client C:/Windows/Fonts/Fnt4.ttf

Merci pour ton aide, très précieuse car je ne suis pas une pro

Emilie
<Stéphane> a écrit dans le message de news:

Bonjour Emilie,

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

semble être du VB6.

Gillard m'a donné ceci pour télécharger en .Net :

Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) > Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode,
utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


Stéphane


"Emilie" 496c4a39$0$18380$
Bonjour



Je veux installer sur mon site web un donwload pour permettre aux
internautes de télécharger une police de caractère, sur le code
ci-dessous vbUnicode est surligné avec le message vbUnicode n'est pas
déclaré je suppose qu'il me faut ajouter un <%@ Import Namespace= ?, mais
je ne vois pas lequel



'Declaration de l'API

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile As String) As Long

Private Sub Command1_Click()

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

End Sub



D'autre part je voudrais à la connection vérifier sur le PC client si ce
fichier existe avant d'afficher l'API, quel code dois-je écrire



J'ai trouvé ce code, mais je ne vois pas comment l'intégrer dans mon
code, comment déclencher la fonction et où déclarer le FilePath ?



''' <summary>

''' Télecharge un fichier depuis le serveur Web vers le poste client.

''' </summary>

''' <param name="FilePath">Chemin d'accès absolu du fichier sur le
serveur</param>

''' <returns>retourne True si l'opération s'est correctement
déroulée.</returns>

''' <remarks></remarks>

Private Function DownloadFile(ByVal FilePath As String) As Boolean



Dim myFileStream As New System.IO.FileStream(FilePath, _

System.IO.FileMode.Open, _

System.IO.FileAccess.Read, _

System.IO.FileShare.Read)

Try

If myFileStream.CanRead() Then

Response.Clear()

Response.ContentType = "application/octet-stream"



' get the filename

Dim myFileName As String =
System.IO.Path.GetFileName(FilePath)

Response.AddHeader("Content-Disposition", "attachment;
filename=" & myFileName)

' Set the buffer that will receive the data from the file

Dim myBuffer(4096) As Byte

' Setup the Time out in seconds according to file size

Server.ScriptTimeout = 3600

While True

' Check if the client is still connected

If Not Response.IsClientConnected Then

Exit While

End If

' read data from the file

Dim myNumberOfBytesRead As Integer =
myFileStream.Read(myBuffer, 0, 4096)

If myNumberOfBytesRead = 0 Then

Exit While

End If

' Write the data to the current output stream.

Response.OutputStream.Write(myBuffer, 0,
myNumberOfBytesRead)

' Flush the data to the HTML output.

Response.Flush()

End While

End If

Catch ex As Exception

Throw ex

Finally

myFileStream.Close()

myFileStream.Dispose()

Response.End()

End Try

Return True

End Function

Merci d'avance pour votre aide



Emilie














Le #18428131
Bonjour Emilie,

Si ton fichier est sur C:, ce n'est pas du download (cf ton titre) mais de
l'upload.

Pour l'upload, je ne sais pas faire. Je fais en manuel, avec Filezilla.

Bon courage,
Stéphane.


"Emilie" 496f2f68$0$18385$
Bonjour Stéphane

Merci pour ton code, mais peux-tu me donner des précisions complémentaires

-1- Le fichier à télécharger (de mon serveur vers le client) se trouve sur
C:/fichiers/Fnt4.ttf
comment l'écrire dans DisplayDownloadBox
-2- Peux-t-on vérifier l'existance de ce fichier sur le client avant de
proposer le téléchargement
-3- Peux-t-on indiquer le chemin sur le client C:/Windows/Fonts/Fnt4.ttf

Merci pour ton aide, très précieuse car je ne suis pas une pro

Emilie
<Stéphane> a écrit dans le message de news:

Bonjour Emilie,

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

semble être du VB6.

Gillard m'a donné ceci pour télécharger en .Net :

Public Class Form1
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile() As Int16) As Integer
Public Sub DisplayDownloadBox(ByVal sPath As String)
Dim abUnicode(sPath.Length) As Int16
For i As Integer = 0 To sPath.Length - 1
abUnicode(i) >> Microsoft.VisualBasic.Strings.AscW(sPath.Substring(i, 1))
Next i
Call DoFileDownload(abUnicode)
Erase abUnicode
End Sub

' passer par ASCW est apparemment la seule manière pour traiter
l'unicode.
' différents tests effectués avec System.Text.Encoding (ascii,
unicode,
utf-16, utf-32, etc...)
' affiche alors une alerte : "Les paramètres de sécurité actuels ne
vous permettent pas de télécharger ce fichier."


Sub Main()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DisplayDownloadBox("http://bldsoftware.com/pgrm/LeConjugueur.zip")

End Sub
End Class


Stéphane


"Emilie" 496c4a39$0$18380$
Bonjour



Je veux installer sur mon site web un donwload pour permettre aux
internautes de télécharger une police de caractère, sur le code
ci-dessous vbUnicode est surligné avec le message vbUnicode n'est pas
déclaré je suppose qu'il me faut ajouter un <%@ Import Namespace= ?,
mais je ne vois pas lequel



'Declaration de l'API

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal
lpszFile As String) As Long

Private Sub Command1_Click()

DoFileDownload(StrConv("ftp://ftp.cadmanager.fr/maj/setup.exe",
vbUnicode))

End Sub



D'autre part je voudrais à la connection vérifier sur le PC client si ce
fichier existe avant d'afficher l'API, quel code dois-je écrire



J'ai trouvé ce code, mais je ne vois pas comment l'intégrer dans mon
code, comment déclencher la fonction et où déclarer le FilePath ?



''' <summary>

''' Télecharge un fichier depuis le serveur Web vers le poste client.

''' </summary>

''' <param name="FilePath">Chemin d'accès absolu du fichier sur le
serveur</param>

''' <returns>retourne True si l'opération s'est correctement
déroulée.</returns>

''' <remarks></remarks>

Private Function DownloadFile(ByVal FilePath As String) As Boolean



Dim myFileStream As New System.IO.FileStream(FilePath, _

System.IO.FileMode.Open, _

System.IO.FileAccess.Read, _

System.IO.FileShare.Read)

Try

If myFileStream.CanRead() Then

Response.Clear()

Response.ContentType = "application/octet-stream"



' get the filename

Dim myFileName As String =
System.IO.Path.GetFileName(FilePath)

Response.AddHeader("Content-Disposition", "attachment;
filename=" & myFileName)

' Set the buffer that will receive the data from the file

Dim myBuffer(4096) As Byte

' Setup the Time out in seconds according to file size

Server.ScriptTimeout = 3600

While True

' Check if the client is still connected

If Not Response.IsClientConnected Then

Exit While

End If

' read data from the file

Dim myNumberOfBytesRead As Integer =
myFileStream.Read(myBuffer, 0, 4096)

If myNumberOfBytesRead = 0 Then

Exit While

End If

' Write the data to the current output stream.

Response.OutputStream.Write(myBuffer, 0,
myNumberOfBytesRead)

' Flush the data to the HTML output.

Response.Flush()

End While

End If

Catch ex As Exception

Throw ex

Finally

myFileStream.Close()

myFileStream.Dispose()

Response.End()

End Try

Return True

End Function

Merci d'avance pour votre aide



Emilie


















Publicité
Poster une réponse
Anonyme