私はdjango-ckeditorを使用しています。
画像ファイルと .swf ファイルを画像とフラッシュ アップロード アイコンでアップロードしています。しかし、これら以外のファイルをアップロードすると、「画像ファイルを識別できません」というエラーが発生します。swf ファイルの場合、サムネイルが作成されず、URL なしでダミー画像が表示されます。
ckeditor での私の見解: @csrf_exempt
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))
サムネイル、
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))
誰でもこの問題を解決するのを手伝って..