IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Les espaces dans les noms des fichiers telecharges sont remplacés par des underscores


Sujet :

ASP

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut Les espaces dans les noms des fichiers telecharges sont remplacés par des underscores
    Bonjour à tous

    Si par hasard certains d'entre vous utilisent aspupload ...???

    J'utilise donc ce composant pour gérer à la fois des uploads de fichiers, mais aussi des downloads, avec une code du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Upload.SendBinary file_path, True, "application/octet-stream", True, """" & file.Name & """"
    Étonnamment avec IE7, si les noms de fichiers contiennent des espaces, ces espaces sont remplacés par des underscores.
    Par exemple "nom fichier.txt" devient "nom_fichier.txt"


    C'est assez problématique pour cette application, et j'ai essayé différentes syntaxes du code ci dessus, mais le remplacement est systématique.

    Une idée ?

    Je pense que le problème se situe coté IE7, mais j'aimerai pouvoir le contourner coté serveur, et non demander à chaque client de bricoler une option qu'en plus je n'ai pas trouvée
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  2. #2
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    j'avoue être surpris de ton problème car je fais ce genre de transaction avec un autre composant et les espaces dans les noms ne gênent en rien. Ton problème doit venir du composant.

    proposition de solution :
    en cas de download c'est toi qui fourni le fichier donc as toi de t'assurer de mettre que des fichiers sans espaces

    en cas d'upload, ajoute un script de supression d'espace par un autre caractère

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    merci de ta réponse

    ta solution n'est hélas pas adaptée

    quel composant utilises-tu ?

    de façon générale avez vous une recommandation de composants ?
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Je pense que le problème se situe coté IE7, mais j'aimerai pouvoir le contourner coté serveur,
    La question est :
    Qu'en est-il avec un autre navigateur ? Si c'est IE qui modifie automatiquement le nom de fichier, je vois mal comment changer ça côté serveur.

    (ça n'a peut-être rien a voir, mais dans une table access, lorsqu'il y a des espaces dans un nom de table, il faut entourer ce nom de crochet. exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from [ma table]
    Peut-être une piste à suivre ?

    Pour ma part, pour citer vva :

    en cas d'upload, ajoute un script de supression d'espace par un autre caractère
    C'est également la solution que j'ai adopté, la présence d'espace dans un nom de fichier (ou ailleurs, d'ailleurs), c'est la source de beaucoup de problème


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    j'utilise le composant aspsmartupload, je peux t'envoyer le source en me laissant ton mail en privé

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    salut

    merci vva

    Je vais jeter oeil au composant dans un premier temps, il y a l'air d'y avoir le choix.
    J'ai vu un truc d'immobilis en post-it je crois aussi, direct avec binarysend. je vais peut être essayer cette soluce, et les crochets, pourquoi pas

    pas de soucis avec les autres navigateurs, et désolé mais je dois pouvoir garder ces espaces tel quel
    C'est vrai que c'est parfois source de problème, ces espaces, mais celui-là de problème est pour moi inédit.

    Bon à vrai dire il a fallu que j'installe IE7 pour m'en rendre compte tellement je voulais même pas y toucher
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  7. #7
    Invité
    Invité(e)
    Par défaut
    Le composant ASPSmartUpload : (mode d'emploi + .zip à télécharger)
    http://j-reaux.developpez.com/tutori...spsmartupload/
    Dernière modification par Invité ; 05/04/2009 à 21h59.

  8. #8
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Bonjour à tous

    et merci à vva pour son envoi

    J'ai donc implémenté le composant aspsmartupload, et le résultat est exactement le même, à savoir le remplacement des espaces par des underscores sous IE7.

    De plus il semblerait que la taille maximale des fichiers téléchargeables avec la méthode DownloadFile soit de 4 Mo, quelle que soit la valeur attribuée à la propriété DownloadBlockSize

    voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    			if FSO.FileExists (ftp_file_path) then
    				Set file = FSO.GetFile(ftp_file_path)
     
     
    				Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload")
    				'Upload.MaxFileSize = 1000000000
    				'Upload.TotalMaxFileSize = 1000000000
    				Upload.DownloadBlockSize = 100000000
     
    				response.clear
     
    				Upload.DownloadFile ftp_file_path , "application/octet-stream", """" & file.Name &""""
     
    				end if 
    			Set FSO = Nothing
    Bon j'ai essayé un peu dans tous les sens : sans préciser le file name en 3e paramètre, en utilisant juste le chemin du fichier, les noms de fichier avec espace sont tronqués quelque soit le navigateur.
    En précisant le nom, ça marche bien pour IE6 - firefox pour tout fichier jusqu'à 4 Mo, avec IE7, ça marche mais les espaces sont remplacés par des underscores.
    Au dessus de 4 Mo, rien à en tirer, même pas une erreur 500. Un refresh sur cette non-réponse (genre de request timeout au bout d'un court moment dans firefox : Firefox ne peut trouver le fichier à l'adresse http://xxx.xxx.xxx.xxx/yyy/zzz/download_ftp_file.asp ) m'amène une erreur 500 comme suit :
    aspSmartUpload.SmartUpload erreur '80040410'

    File not found (Error 1040) Error opening 'E:\root FTP FDJ\FICHES PRODUITS\Dédé (2008).doc'. Error 32 Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.
    le fichier est bien évidemment à sa place, et accédé uniquement par aspsmartupload. Donc ce message revient ensuite systématiquement quand je réessaie le même fichier, je pense que aspsmartupload garde un lock sur le fichier, mais de toute façon, il ne me transmet rien au dessus de 4 Mo.

    Enfin un constat, DownloadBlockSize est sans influence sur ce problème de 4 Mo. Par contre il réserve en mémoire autant d'espace que la valeur qui lui est allouée.

    Des idées SVP ?

    vva, j'ai jeté un oeil à la métabase sous inertserv, je n'ai pas touché à AspMaxRequestEntityAllowed , qui semble plutot concerner l'upload. En tout cas la valeur ne correspond pas à la limite que je constate

    Par contre il y a la valeur AspBufferingLimit qui par défaut est à 4194304, soit 4096 Ko, 4 Mo. On retrouve la limite évoquée plus haut. Je l'ai passée à 1 Go pour tester.
    Ca marche un peu mieux, on passe la limite des 4 Mo mais en réalité tout le fichier est bufferé en mémoire (RAM + SWAP) avant d'être délivré au client, et donc ce n'est pas utilisable en l'état. Ca me mettrait mon serveur en l'air très rapidement sachant que nombre de fichiers à télécharger font 100 Mo et plus, jusqu'à 2 Go pour certains.

    En tout cas un essai avec un fichier de 300 mo sur mon serveur de dev avec 256 mo de ram et 1 Go de swap, ça ne marche pas, et le fichier n'est pas délivré (pas assez de ram visiblement)
    Ces mêmes fichiers ne posent pas de problème avec aspupload.

    Ma conclusion est que pour l'instant ce composant aspsmartupload n'est pas si pratique qu'il parait.

    Voilà si ça vous inspire... merci d'avance

    Et en attendant si quelqu'un pouvait enlever le [FAIT] en titre du post... merci
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  9. #9
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    je ne sias pas quoi te dire car je n'ai pas ce soucis d'espace remplacé par des _ et pourtant je suis sou ie7

  10. #10
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Je ne comprends vraiment pas non plus

    Je vais regarder si j'ai bien la dernière version IE7

    Bon en tout cas le problème de buffering semble se régler en incluant un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Buffer = False
    J'aurais du y penser avant d'aller bricoler la métabase
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  11. #11
    Invité
    Invité(e)
    Par défaut
    Telechargement de GROS fichiers (jusqu'à 2 Go) :
    http://www.motobit.com/HELP/SCPTUTL/UPLOAD.ASP
    (version gratuite, jusqu'à 10 Mo)

  12. #12
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    jreaux62 , t'es un robot ou quoi ?
    Un peu laconique ta contrib...En quoi ça répond à mon problème ce dernier composant ?
    En plus mes problèmes de mémoire pourrait être lié à un problème de "memory leak" qui touche IIS6 (j'adore les produits serveur M$ ).

    Bon pour info, le problème est connu chez crosoft :
    http://support.microsoft.com/kb/952730/en-us

    Vu que je pense pas faire faire la modif chez tous mes clients, je suis bien marron.

    un truc répond en prtie au problème, remplacer les espaces par des %20. Mais si on ouvre le fichier, les %20 apparaissent comme des %20. Si on le sauvegarde, les espaces sont préservés.

    C'est beau l'informatique chez M$, vous trouvez pas...?
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  13. #13
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Apparement, tu peux déjà essayer d'appliquer le correctif sur le serveur.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Voui mais vu que ça concerne IE7 client, ça va pas m'avancer à grand chose.

    Bon de toute façon, les fichiers sont renommés pour mon besoin urgent.
    Et par la suite, ben je sais pas quoi faire, vu que le problème va se généraliser forcément.

    Allez problème résolu ! Merci à tous de votre aide
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gérer les espaces dans les noms de répertoire
    Par Jasmine80 dans le forum Langage
    Réponses: 9
    Dernier message: 28/06/2012, 13h50
  2. comment enlever les accents dans un nom de fichiers ?
    Par clavier12AZQSWX dans le forum Administration système
    Réponses: 6
    Dernier message: 23/09/2009, 06h47
  3. supprimer les espaces d'un nom de fichier
    Par Joey5 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/11/2008, 11h56
  4. Comment traiter les espaces dans le nom du fichier
    Par maban dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/08/2007, 20h25
  5. Réponses: 1
    Dernier message: 12/12/2006, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo