Das deutsche Python-Forum

10 Jahre Diskussionen rund um die Programmiersprache Python
Aktuelle Zeit: Dienstag 21. Mai 2013, 21:35

Alle Zeiten sind UTC + 2 Stunden




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: BottlePy Datei hochladen
BeitragVerfasst: Mittwoch 7. März 2012, 15:43 
User

Registriert: Montag 19. Dezember 2011, 17:42
Beiträge: 60
Hi,
nachdem ihr mir schon so großartig geholfen habt.

Ich habe mich an das BottlePy Tutorial gehalten, das Script jedoch wie folgt abgeändert.

upload.py
Code:

from bottle import route, request, run, template

@route('/')
def index():
        return template('layout.tpl')

@route('/upload', method='POST')
def do_upload():
        data = request.files.data
        if data.file:
                raw = data.file.read() # This is dangerous for big files
                #hier ?
                filename = data.filename
                return "Hello! You uploaded %s (%d bytes)." % (filename, len(raw))
        return "You missed a field."
       
run()
 


layout.tpl
Code:
<form action="/upload" method="post" enctype="multipart/form-data">
   <input type="text" name="name" />
   <input type="file" name="data" /><br>
   <input type="submit" name="upload" />
</form>


Meine Frage bei upload.py in der Zeile mit #hier ?
Wie vermag man denn da nun die Datei auf den Server zu schreiben?
Oder habe ich da komplett einen Denkfehler?
Desweiteren wird ja darauf hin gewiesen das diese Möglichkeit nicht gut ist... hat jemand evtl. eine alternative Lösung?

Falls ihr da irgendwelche Links hättet zu github oder bitbucket oder ähnliches.
Wo ich Beispiele finde, Grandios!
Sonst natürlich auch zu jeglicher Idee, Anregung, mein verbindlichsten Dank.


Gruß


Zuletzt geändert von seishin am Mittwoch 7. März 2012, 17:03, insgesamt 2-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: BottlePy Datei hochladen
BeitragVerfasst: Mittwoch 7. März 2012, 15:51 
Moderator

Registriert: Mittwoch 26. Januar 2005, 00:29
Beiträge: 18434
@seishin: Was denkst Du denn an was `raw` gebunden ist?

_________________
You can't buy happiness. Steal it.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: BottlePy Datei hochladen
BeitragVerfasst: Mittwoch 7. März 2012, 16:02 
User
Benutzeravatar

Registriert: Mittwoch 19. Mai 2010, 17:25
Beiträge: 462
Code:
from bottle import route, request, run, template

@route('/')
def index():
    return template('layout.tpl') # da muss soweit ich weiß 'layout' hin

@route('/upload', method='POST')
def do_upload():
    data = request.files.data
    if data.file:
        raw = data.file.read() # This is dangerous for big files
        # „raw“ beinhaltet nun den Inhalt der Datei. Den kannst du jetzt ganz normal
        # in eine Datei schreiben (file.write(...)). Das sollte man am „data.file.read“
        # erkennen können
        filename = data.filename
        return "Hello! You uploaded %s (%d bytes)." % (filename, len(raw))
    return "You missed a field."
       
run()


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: BottlePy Datei hochladen
BeitragVerfasst: Mittwoch 7. März 2012, 17:02 
User

Registriert: Montag 19. Dezember 2011, 17:42
Beiträge: 60
Großartig ihr seid die Beste und Python sowieso!

Code:

import os
from bottle import route, request, run, template

PATH = 'Pfad halt wohin...'

@route('/')
def index():
        return template('layout') #@nomnom beides geht...

@route('/upload', method='POST')
def do_upload():
        data = request.files.data
        if data.file:
                raw = data.file.read() # This is dangerous for big files
                with open(os.path.join(PATH, data.filename),'wb') as f:
                        f.write(raw)
                filename = data.filename
                return "Hello! You uploaded %s (%d bytes)." % (filename, len(raw))
        return "You missed a field."
       
run()
 


Vielen herzlichen Dank!


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 2 Stunden


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de