首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-ckeditor文件上传而不是图片

django-ckeditor文件上传而不是图片
EN

Stack Overflow用户
提问于 2013-02-20 13:23:19
回答 1查看 1.1K关注 0票数 0

我正在使用django-ckeditor。

Iam上传图像文件和.swf文件在图像和闪存上传图标。但是当我上传这些文件以外的文件时,Iam收到错误,因为“无法识别图像文件”。对于swf文件,不创建缩略图,并且显示没有任何url的虚拟图像。

我在ckeditor中的观点是:@csrf_exempt

代码语言:javascript
复制
def upload(request):
    upload = request.FILES['upload']
    upload_ext = os.path.splitext(upload.name)[1]
    upload_filename = get_upload_filename(upload.name, request.user)
    out = open(upload_filename, 'wb+')
    for chunk in upload.chunks():
        out.write(chunk)
    out.close()
    if upload_ext != ".swf": 
        create_thumbnail(upload_filename)
    url = get_media_url(upload_filename)
    url = url.replace("\\", "/")
    return HttpResponse("""
    <script type='text/javascript'>
        window.parent.CKEDITOR.tools.callFunction(%s, '%s');
    </script>""" % (request.GET['CKEditorFuncNum'], url))

缩略图,

代码语言:javascript
复制
def create_thumbnail(filename):
    image = Image.open(filename)
    if image.mode not in ('L', 'RGB'):
        image = image.convert('RGB')
   imagefit = ImageOps.fit(image, THUMBNAIL_SIZE, Image.ANTIALIAS)
    imagefit.save(get_thumb_filename(filename))

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-20 13:36:41

从技术上讲,只有图像文件才能有缩略图。所有其他类型都应具有基于其类型的默认缩略图(可能是图标图像)。在您的代码中,逻辑应该

代码语言:javascript
复制
if upload_ext in [".jpg", ".png",]:
    create_thumbnail(filename)
else:
    create_default_thumbnail(upload_ext) // for .swf, .doc etc
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14972834

复制
相关文章

相似问题

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