2013-05-12 1 views
-1

Я использую web.py как сервер RESTful для моего проекта, и теперь я столкнулся с проблемой, как загрузить файл. В официальном документе Phonegap я нашел пример, но он был написан PHP, на стороне сервера он использует функцию с именем move_uploaded_file(). Я думал, что это что-то, чтобы получить файл, а затем сохранить его там, где пользователь хотеть.Как загрузить файл с помощью Web.py + phonegap

Так что мой вопрос, есть ли что-то подобное в web.py.Or, как мог я получить файл с web.py?

мне нужна помощь, спасибо.

Я разработал его. На стороне клиента:

function uploadPhoto(imageURI) { 
     var options = new FileUploadOptions(); 
     options.fileKey="file";#keep this name the same as server 
     ... 
     ft.upload(imageURI, "http://some.server.com/upload", win, fail, options); 
    } 

На стороне сервера:

def POST(self): 
    files = web.input(file={})#where the client side defined 
    data = files['file'].file.read()#got the data 
    ...do something you wanted... 

ответ

0

Посмотрите на this recipe:

import web 

urls = ('/upload', 'Upload') 

class Upload: 
    def GET(self): 
     return """<html><head></head><body> 
<form method="POST" enctype="multipart/form-data" action=""> 
<input type="file" name="myfile" /> 
<br/> 
<input type="submit" /> 
</form> 
</body></html>""" 

    def POST(self): 
     x = web.input(myfile={}) 
     web.debug(x['myfile'].filename) # This is the filename 
     web.debug(x['myfile'].value) # This is the file contents 
     web.debug(x['myfile'].file.read()) # Or use a file(-like) object 
     raise web.seeother('/upload') 


if __name__ == "__main__": 
    app = web.application(urls, globals()) 
    app.run() 
+0

Я вижу это, но на стороне клиента, нет никакой формы, просто можно использовать phonegap api, что имя filetranser, он отправляет файл на сервер. Я пробовал вышеуказанный код на стороне сервера, чтобы получить параметры файла или файл, но он не работает ....... –