如何使用Web.py + phonegap上传文件

时间:2013-05-12 04:18:31

标签: cordova upload web.py

我正在使用web.py作为我项目的RESTful服务器,现在我遇到的问题是如何上传文件。 在Phonegap官方文档中,我找到了示例,但它是由PHP编写的,在服务器端它使用了一个名为 move_uploaded_file()的函数。我认为这是获取文件然后保存的东西它是用户想要的地方。

所以,这是我的问题,在web.py中是否有类似的东西。或者我怎么能用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...

1 个答案:

答案 0 :(得分: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()