首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blobstore upload + Ajax/Alternative

Blobstore upload + Ajax/Alternative
EN

Stack Overflow用户
提问于 2011-08-26 01:22:42
回答 1查看 3.2K关注 0票数 3

下面的代码运行得很好。我唯一关心的是,我想将下面的代码转换为AJAX/alternative,这样它就不需要刷新整个页面来提交此请求。

如果可能,也包括加载进度条等。

代码语言:javascript
复制
<form action="{{ upload_url }}" method="POST" enctype="multipart/form-data">

        Upload File: <input type="file" name="file"> <br> 
        <input type="submit" name="submit" value="Submit"> 

        <input type="hidden" name="data1" value="{{ data1 }}">
        <input type="hidden" name="data1" value="{{ data2 }}">

</form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-27 02:23:47

看看一些用于AJAX上传的JS解决方案--具体地说,Plupload可以与App Engine blobstore结合使用,为您提供多路上传支持、AJAX上传以及上传窗口小部件/进度条等选项。

事实上,@NickJohnson有一个完整的blog post来指导你完成这些步骤。

它的主旨是:

1)下载并安装Plupload

2)创建一个处理程序,返回生成的上传URL。如下所示:

代码语言:javascript
复制
from google.appengine.ext import webapp
from google.appengine.api import blobstore

class BlobstoreURLResponder(webapp.RequestHandler):

    """ Mapped to the URL /get_upload_url """

    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.request.out.write(blobstore.create_upload_url('/blobstore/passthrough'))

3)上传文件前,挂接Plupload,获取blob上传URL

代码语言:javascript
复制
uploader.bind('UploadFile', function(up, file) {
    $.ajax({
        url: '/get_upload_url',
        async: false,
        success: function(data) {
          up.settings.url = data;
        },
    });

有关更详细的说明,请查看该博客文章。Nick有一个很棒的演练,绝对帮助我建立了Plupload + Blobstore。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7194559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档