Je crée un uploader pour une page où je dois utiliser ASP Classic et j'ai trouvé l'uploader de Jacob "Beezle" Gilley et ça marche, tant que c'est un fichier txt. Mais le problème se produit quand c'est un fichier pdf ou une image, et j'ai besoin de les télécharger.PDF est vide après Upload à partir de ASP Classic
Le problème est que l'exemple de fichier pdf est téléchargé à sa place mais il est vide. J'ai édité dans une partie du code original puisque j'ai besoin de l'encoder en UTF-8. Sinon, il est identique et je téléchargerai le code édité.
Public Sub SaveToDisk(sPath)
Dim oFS, oFile
Dim oStream
If sPath = "" Or FileName = "" Then Exit Sub
If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
Set oFS = Server.CreateObject("Scripting.FileSystemObject")
If Not oFS.FolderExists(sPath) Then Exit Sub
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Type = 2
.Charset = "UTF-8"
.Mode = 3
.Open
.WriteText RSBinaryToString(FileData)
.SaveToFile sPath & FileName
.Close
End With
Set oStream = Nothing
End Sub
Comment puis-je résoudre ce problème, ou puis-je réparer même il? La méthode RSBinaryToString est crédité à Antonin Foller, http://www.motobit.com que j'ai trouvé pour aider à convertir en UTF-8. Whitout cela je ne peux même pas ouvrir les fichiers.
En fait, l'utilisation de jeux de caractères et de chaînes pour transporter le fichier PDF est erronée. Les PDF sont des données binaires, il devrait donc y avoir simplement un tableau d'octets ou quelque chose de similaire qui est écrit sans interférence avec les paramètres du jeu de caractères. Votre variante actuellement en cours d'exécution n'enchaîne heureusement que fort heureusement le codage et le décodage des données de manière correspondante (alors qu'il ne devrait pas être codé ou décodé du tout). – mkl