Bonjour à toutes et à tous,
J'ai un petit soucis de copie de fichier.
J'ai un Ascx, qui utilise des images (ressource intégrée).
Lors de l'initialisation du contrôle, je vérifie si les images existent, et le cas échéant, je les copie dans le bon répertoire.
Ce procédé fonctionne très bien avec des fichiers JS (donc texte...), mais il semble que mes images soient corrompues lors du transfert.
A mon avis, il y a perte de l'en-tête de l'image, ou un truc du genre, et l'image n'est plus reconnue comme telle.
Savez-vous s'il y a un moyen de copier des fichiers (quel que soit leur format) depuis l'assembly vers le répertoire du serveur ?
Voici le source que j'utilise :
Imports System.IO
Imports System.Web
Private Shared Sub Deployer_Fichier(ByVal rsName As String, ByVal strRep As String)
Dim str As Stream
Dim rd As StreamReader
Dim strwri As FileStream
Dim wri As StreamWriter
Try
Dim myAss As System.Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()
'On charge la ressource
str = myAss.GetManifestResourceStream(myAss.GetName().Name & "." & rsName)
rd = New StreamReader(str)
Dim jsSource As String = rd.ReadToEnd()
If Not IO.Directory.Exists(strRep) Then
IO.Directory.CreateDirectory(strRep)
End If
'On écrit le fichier sur le serveur
strwri = New FileStream(strRep & rsName, IO.FileMode.Create)
wri = New StreamWriter(strwri)
wri.WriteLine(jsSource)
wri.Close()
Catch e As Exception
Throw e
Finally
If Not rd Is Nothing Then rd.Close()
If Not str Is Nothing Then str.Close()
If Not wri Is Nothing Then wri.Close()
If Not strwri Is Nothing Then strwri.Close()
End Try
End Sub
Public Sub Deployer(ByVal page As System.Web.UI.Page)
Dim source As String = "Help.GIF"
Dim source2 As String = "icon-delete.gif"
Dim strRepertoire As String = page.MapPath("Images/")
Dim strfile As String
strfile = strRepertoire & source
If Not System.IO.File.Exists(strfile) Then
Deployer_Fichier(source, strRepertoire)
End If
strfile = strRepertoire & source2
If Not System.IO.File.Exists(strfile) Then
Deployer_Fichier(source2, strRepertoire)
End If
End Sub
Merci d'avance.
@peluche et bon dev'
DA