This reads the entire file in ram. Only ok for small files. May be a vulnerability if anybody can access this service.
On Nov 24, 5:16 pm, António Ramos <ramstei...@gmail.com> wrote: > i got xmlrpclib to transfer a file from python script to web2py app > > Here is my code > *Python script* > import xmlrpclib > server = > xmlrpclib.ServerProxy('http://127.0.0.1:8000/CrossValidation1/default/call/xmlrpc') > filepath='c:\\' > filename='ico.gif' > filebin = xmlrpclib.Binary(open(filepath+filename).read()) > server.checkflow(filebin,filename) > * > and in my default.py controller* > > import xmlrpclib > > import os > @service.xmlrpc > def checkflow(file,name): > basedir= request.folder.replace('/','') > f=open(basedir+'\\uploads\\'+name,'wb') > db.image.insert(file=name) > f.write(file.data) > f.close() > print "ok" > return name > > def call(): > session.forget() > return service() > * > my model* > * > *db.define_table('image', > Field('file','upload')) > > Is this a good practice? > > 2010/11/24 mdipierro <mdipie...@cs.depaul.edu> > > > No > > > filename = request.vars.varwithFile.filename or 'filename.txt' > > stream = request.vars.varwithFile.file or open(filename,'rb') > > db.photo.insert(file=db.photo.file.store(stream),filename=filename) > > > On Nov 24, 3:37 pm, António Ramos <ramstei...@gmail.com> wrote: > > > but if i want, using the shell, to add and image manually > > > do i use > > > db.photo.insert('file'=varwithFile) > > > ????? > > > > *my test model is > > > db.define_table('photo', > > > Field('file','upload'))* > > > > Best regards > > > António > >