Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django ckeditor文件上传(图像除外)_Python_Django_Ckeditor - Fatal编程技术网

Python django ckeditor文件上传(图像除外)

Python django ckeditor文件上传(图像除外),python,django,ckeditor,Python,Django,Ckeditor,Iam使用django ckeditor Iam在图像和flash上载图标中上载图像文件和.swf文件。但当我上传这些文件以外的其他文件时,我得到的错误是“无法识别图像文件”。对于swf文件,不会创建缩略图,显示的是没有任何url的虚拟图像 我在ckeditor中的观点如下: @豁免 def upload(request): upload = request.FILES['upload'] upload_ext = os.path.splitext(upload.name)[1]

Iam使用django ckeditor

Iam在图像和flash上载图标中上载图像文件和.swf文件。但当我上传这些文件以外的其他文件时,我得到的错误是“无法识别图像文件”。对于swf文件,不会创建缩略图,显示的是没有任何url的虚拟图像

我在ckeditor中的观点如下: @豁免

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))

任何人都可以帮我解决这个问题。

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

if upload_ext in [".jpg", ".png",]:
    create_thumbnail(filename)
else:
    create_default_thumbnail(upload_ext) // for .swf, .doc etc

你上传的其他文件类型是什么?
if upload_ext in [".jpg", ".png",]:
    create_thumbnail(filename)
else:
    create_default_thumbnail(upload_ext) // for .swf, .doc etc