首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-piston模块可以创建上传图片create风格的Can服务吗

django-piston模块可以创建上传图片create风格的Can服务吗
EN

Stack Overflow用户
提问于 2010-05-15 04:42:39
回答 4查看 1.2K关注 0票数 3

我尝试restful服务器,一个人可以上传图片,通过使用django-piston,我可以上传,获取,发布信息restful,但不知道如何上传图片。

EN

回答 4

Stack Overflow用户

发布于 2010-11-05 22:56:18

差不多吧。

从技术上讲,这只是一个http post。

票数 0
EN

Stack Overflow用户

发布于 2010-11-07 11:23:40

一方面,是的。如果您拥有图像数据,则可以通过post将其发送给知道如何处理它的处理程序;如果您操作得当,理论上应该可以在request.FILES中将其提供给您的处理程序。简单的HTTP。

从另一方面来说,没有。为了进行这样的AJAX上传,您必须以某种方式获得图像数据,而无需用户实际提交表单。这就是为什么"ajax上传表单“很难实现的原因,并且通常使用隐藏iframe这样的技巧来完成它们的工作。

据我所知,只有Firefox和它的gecko类允许通过File object's getAsBinary()方法访问文件字段的二进制内容。

票数 0
EN

Stack Overflow用户

发布于 2010-11-07 12:42:07

你当然可以做这个帖子。文件将在request.FILES中可用(活塞不会妨碍到这一点)。

为了完成PUT,我们必须对piston进行一些修改,以支持x-method-override头。这就是我所做的,从闪存中允许PUT和DEL。(别忘了在做POST时添加头部,让它被解释为PUT )

下面是一些中间件示例:

代码语言:javascript
复制
class x_http_methodoverride_middleware():
    def process_request(self, request):
        if 'HTTP_X_HTTP_METHODOVERRIDE' in request.META:
            newMethod = request.META['HTTP_X_HTTP_METHODOVERRIDE']
            if 'PUT' == newMethod.upper():
                request.method = 'PUT'
                request.META['REQUEST_METHOD'] = 'PUT'
                request.PUT = request.POST                
            if 'DELETE' == newMethod.upper() or 'DEL' == newMethod.upper():
                request.method = 'DELETE'
                request.META['REQUEST_METHOD'] = 'DELETE'
                request.DELETE = request.POST

(代码来自一张打开的活塞票,这里是http://bitbucket.org/jespern/django-piston/issue/83/use-x-http-method-override-to-override-put )

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

https://stackoverflow.com/questions/2837483

复制
相关文章

相似问题

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