django cloudinary 通过 url 上传远程图像 - 文件名无效

Posted

技术标签:

【中文标题】django cloudinary 通过 url 上传远程图像 - 文件名无效【英文标题】:django cloudinary upload remote image via url - invalid file name 【发布时间】:2012-10-08 12:30:12 【问题描述】:

我正在尝试上传托管在第三方服务器上的图像。这是我正在使用的代码:

def saveEdit(request):

image = request.REQUEST.get('image','')
title = request.REQUEST.get('title','')
type = request.REQUEST.get('type','')
state = request.REQUEST.get('state','')

cimage = cloudinary.uploader.upload(image, public_id = 'img_'+request.user.__str__()+"_"+title, format='jpg')

return HttpResponse('Got '+image + " type: "+type + " state: "+state + " title:"+request.user.__str__() + "_"+title + " uploaded "+cimage.image.url)

我收到以下错误:

无效的图像文件

请求方法:GET
请求网址:http://127.0.0.1:8000/saveEdit?image=http://app2.pixlr.com/_temp/507f95e1ec8d8337e5000002.jpg&type=jpg&state=copy&title=13838
Django 版本:1.4.1
异常类型:异常
异常值:
无效的图像文件
异常位置:call_api 中的 /Library/Python/2.7/site-packages/cloudinary/uploader.py,第 155 行

我不确定我做错了什么 - 你能帮忙吗?

谢谢。

【问题讨论】:

当您向其传递 URL 时,可能是上传方法需要一张图片? 【参考方案1】:

这里的问题是从请求中接收到的图像参数实际上是 unicode 类型而不是 str。 Cloudinary 的 python 库的当前版本不能正确处理这个问题。 该库的下一版本将包含此问题的修复程序。同时,您可以执行以下操作:

cimage = cloudinary.uploader.upload(image.encode('utf-8'), public_id = 'img_'+request.user.__str__()+"_"+title, format='jpg')

感谢您报告此事。

【讨论】:

以上是关于django cloudinary 通过 url 上传远程图像 - 文件名无效的主要内容,如果未能解决你的问题,请参考以下文章

从cloudinary删除带有完整url的图像不起作用-Node.js

使用 markdown 和 cloudinary 的 django 应用程序

将 Cloudinary 图像上传链接到 Django 模型字段

ExpressJS:TypeError:无法读取未定义的属性“路径”尝试将文件上传到 cloudinary 并将 url 保存到 mongoDB

cloudinary 下载PDF

Django cloudinary 图像如何在模板 % % 标签中添加 onClick 事件?