Из приведенной выше ссылки на Canvas2Image мне кажется, что вы пытаетесь обрабатывать изображения в кодировке Base64 (например, data:image/octet-stream;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wB
).
Скрепка ожидает объект Tempfile
, который создается за сценойдля вас, когда вы загружаете изображение.Возможно подделать Tempfile
, используя объект StringIO
и добавив методы экземпляра content_type
и original_filename
.
Я опубликовал суть кода, который использовал для этого, в одном из моихпроекты.https://gist.github.com/1012107.
Чтобы сделать что-то подобное, вам необходимо удалить начальную часть URI Canvas2Image data:image/octet-stream;base64,
и использовать оставшийся код Base64 в качестве image_data.Вам нужен способ предоставления или работы с типом содержимого и именем файла.
Если вы просто хотите использовать обычные URL-адреса, такие как http://example.com/image.jpg
, у вас есть несколько доступных вариантов.
Выможно просто сохранить URL-адрес и использовать его в качестве источника изображения на ваших страницах.Я знаю, что это не всегда вариант, и вы не можете контролировать доступность образа.
В противном случае есть несколько утилит, таких как net / http и curl, которые вы можете использовать для загрузки образа.Если вы думаете, что хотите пойти по этому пути, то вы можете также рассмотреть возможность загрузки изображений с использованием отложенных заданий или аналогичного фонового процесса.Таким образом, ваш интерфейс не зависает, если загрузка изображения происходит медленно.