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 :

Response.binarywrite avec fichier


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Par défaut Response.binarywrite avec fichier
    Bonjour,

    j'ai trouvé des exemples de Response.binarywrite pour des images stockées dans un champ BLOB de SGBD

    j'ai une appli tierce qui peut lire des fichiers JPEG avec une url statique
    genre :'http://monserveur/image1.jpg'

    je peux entièrement paraméter l'url d'accès à l'image aussi je voudrai le "gruger" en faisant 'http://monserveur/monimage.asp?im=1'

    je sais faire dans mon navigauteur en mettant une balise image mais je voudrais renvoyer une image brute dans mon appli tierce sans aucune balise ni texte afin que l'application qui l'appele considère le contenu comme un vrai JPG

    je me disais qu'avec ce code ca marcherait mais non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Response.ContentType = "image/jpeg"
    ...
    'pathf = chemin d'accés au fichier JPG à afficher
    Response.BinaryWrite(pathf)
    qd je l'affiche dans mon navigateur je vois bien que ca marche pas j'ai une petite image avec une croix rouge

    je pense qu'il faut lire le fichier en binaire avant, mais comment ?

    merci de vos conseils

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

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

    Si ton image est dans un blob, c'est déjà du binaire.
    Que donne un click droit sur la "petite image avec une croix rouge", puis propriétés ?


    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Par défaut
    merci de ta réponse

    mais en fait dans ce cas mes images ne sont pas dans un blob du sgbd

    mais dans des fichiers sur le disque dur

    en fait j'aurai voulu que mon asp lise le fichier en binaire et le rebalance comme une image JPEG brute

    avec un response.binarywrite

    en fait la question comment lire un fichier image du disque dur en binaire, le mettre dans une variable et le renvoyer directement dans le navigateur comme une image ?

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Re

    tu peux essayer de lire ton image comme un fichier texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set fso=server.createobject("scripting.filesystemobject")
    set im=fso.openTextFile(server.mapPath("images/monimage.jpg"))
    fpath=im.readAll()
    
    Response.ContentType = "image/jpeg"
    Response.BinaryWrite(pathf)
    euh ... je ne garantis pas trop que ça marche


    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
    Poumtschak
    Invité(e)
    Par défaut
    Si la soluce de roro06 ne donne rien, il y a peut-être matière à idée dans ce vbs :
    http://www.paulsadowski.com/WSH/getremotebinaryfile.htm


  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Par défaut
    bonjour,

    pour roro06, il me semble que FSO peut manipuler tous les fichiers mais lit seulement les fichiers textes (lut dans d'autres forums)

    Poumtschak, cette solution est super et marche vraiement bien.

    sauf quand au lieu de sauvegarder sur le disque local, j'essaye de le renvoyer dans le navigateur comme une image JPEG avec un response.binarywrite :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <%
     
       '-------------------------------------------------------   
       ' Clear out the existing HTTP header information
       '-------------------------------------------------------
       Response.Expires = 0 
       Response.Buffer = TRUE
       Response.Clear
     
       '-------------------------------------------------------
       ' Change the HTTP header to reflect that an image is being passed.
       '-------------------------------------------------------
       Response.ContentType = "image/jpeg"
     
    'GetRemoteBinaryFile.vbs
    ImageFile = "back.gif"
    DestFolder = "C:\"
    URL = "http://www.paulsadowski.com/images1/back.gif"
     
    Set xml = CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", URL, False
    xml.Send
     
    set oStream = createobject("Adodb.Stream")
    Const adTypeBinary = 1
    Const adSaveCreateOverWrite = 2
    Const adSaveCreateNotExist = 1 
     
    oStream.type = adTypeBinary
    oStream.open
    oStream.write xml.responseBody
     
    ' Do not overwrite an existing file
    'oStream.savetofile DestFolder & ImageFile, adSaveCreateNotExist
     
    ' Use this form to overwrite a file if it already exists
    ' oStream.savetofile DestFolder & ImageFile, adSaveCreateOverWrite
     
    response.BinaryWrite(oStream.read)
    Response.End
     
    'oStream.close
     
    'set oStream = nothing
    'Set xml = Nothing
    %>
    là j'ai le message suivant :


    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
     
    Erreur de compilation Microsoft VBScript error '800a0401' 
     
    Fin d'instruction attendue 
     
    /iisHelp/common/500-100.asp, line 11 
     
    Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
    --------------------------------------------------------------------------^
    Objet Response error 'ASP 0106 : 80020005' 
     
    Types non correspondants 
     
    /test_binaryfile_xml.asp, line 39 
     
    Un type de données non pris en charge s'est présenté.
    une idée ?

    merci d'avance

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

Discussions similaires

  1. genérer un PDF avec Response.BinaryWrite
    Par feanor91 dans le forum ASP
    Réponses: 11
    Dernier message: 12/07/2012, 08h59
  2. Problème avec Response.Binarywrite
    Par Gential dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/09/2011, 16h06
  3. Nommer le fichier PDF avec un Response.BinaryWrite() c#
    Par alexfayard dans le forum ASP.NET
    Réponses: 6
    Dernier message: 28/10/2008, 10h44
  4. Problème avec fichier texte
    Par jpdelx dans le forum ASP
    Réponses: 7
    Dernier message: 13/11/2003, 13h17
  5. Réponses: 4
    Dernier message: 25/08/2003, 09h02

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