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

Réseau/Web Python Discussion :

Zip images et mime type


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut Zip images et mime type
    Bonjours a tous, j'ai une page de mon site où on peux sélectionner des images, j'aimerai que quand l'utilisateur click sur un submit, que je lui propose de télécharger un fichier zip avec les images sélectionner a l'intérieur...

    Pour la partie récupérations des id de mes images, y a pas de souci je les ai mi dans un tableau, par contre je ne vois pas comment zippé mes images je n'ai jamais fais ceci, je c'est juste qu'il faut aussi que je pense au mime type...

    Pouvez vous m'aider?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def download_items(request):
        select_items_download = request.POST.get('select_items_download', None)#Mon tableau
    Merci d'avance !!!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut
    Après quelque recherche, j'ai vue qu'il faut utiliser zipfile.

    Mais je vous avoue que j'ai pas saisie tout le protocole, un peu d'aide ne serrai pas de refus... :euh:


    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
     
    def download_items(request):
        select_items_download = request.POST.get('select_items_download', None)
        if select_items_download is not None:
            try:
                for item_id in select_items_download.split(','):
                    item = Item.objects.get(pk=item_id)
     
                    item_url_hd = item.get_hd_url()#récupère l'url de l'image
     
                    os.path.join("C:\\Documents and Settings\\moi\\Mes documents\\dev\\django-workarea\\ids\\", item_url_hd)
     
                    item_zip = zipfile.ZipFile(os.path,'w',zipfile.ZIP_DEFLATED) 
     
            except(Item.DoesNotExist):
                        raise Http404
    Si j'ai bien compris faut que j'utilise os.path pour crée mon url entier où est stocké mon fichier.

    Après faut que j'utilise zipfile pour le zipé, mais quand je repasse dans ma boucle pour zipé une autre image, l'image va ce zipé automatiquement dans l'ancien zip crée?

    Je n'ai pas compris comment donner un nom a mon zip.

    Faut t'il que j'attribue un endroit temporaire pour qu'il crée le zip, si oui comment?

    Si j'ai saisie, normalement il faut mettre un chemin pour dire ou enregistrer le zip, mais vu que je veux que quand le zip est terminer ils soit envoyer sur mon template (j'utilise Django) pour que l'utilisateur télécharge le zip doit je aussi le faire, si oui comment :p et comment j'envoie le téléchargement ???

    Désoler pour toute ces questions, mais j'ai du mal, merci d'avance pour votre aide !!!

  3. #3
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Bonjour,

    il te faut d'abord enregistrer les fichiers à zipper sur ton serveur puis créer le zip.
    Avec django, la création ressemble à ça:
    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
    # Create your views here.
    import zipfile
    import StringIO
    import os
     
    from django.http import HttpResponse
     
    def zipme(request):
        iofile = StringIO.StringIO()
        zfile = zipfile.ZipFile(iofile, 'w', zipfile.ZIP_DEFLATED)
        for image in os.listdir('images'):
            zfile.write(os.path.join('images', image), image)
     
        zfile.close()
        response = HttpResponse(mimetype="application/zip")
        response['Content-Disposition'] = "attachment; filename=myzip.zip"  
        response['Content-Length'] = iofile.tell()
        iofile.seek(0)
        response.write(iofile.read())
        return response

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut
    Merci pour ton aide !!!

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

Discussions similaires

  1. Resource interpreted as Image but transferred with MIME type text/html
    Par pikamo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/09/2014, 14h18
  2. MIME type odt vs zip
    Par LittleBean dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 19/01/2012, 16h57
  3. Probleme de Mime Type sur certaines images
    Par Fooshi dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 09/03/2011, 16h34
  4. Format image et MIME type
    Par sebus dans le forum 2D
    Réponses: 2
    Dernier message: 28/04/2009, 12h02
  5. mime type
    Par mitsein dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 11/07/2004, 13h54

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