Mysql
 sql >> база данни >  >> RDS >> Mysql

Предупреждение за Unicode:Сравнението за равенство на Unicode не успя да преобразува и двата аргумента в Unicode

Вие предавате стойността, върната от FileField image директно в отговора, сякаш е низ или итерируем. Проверка на изходния код за дадения път на изключение, виждаме, че обектът, върнат от полето, има нарушаващия ред в своя __iter__ метод - класът обвивка търси терминатори на редове. Със сигурност е правдоподобно, че необработеният файл с изображение може да съдържа байтове, които не могат да бъдат преобразувани в нещо, което може да се сравни със знаците за край на реда.

HttpResponse просто се нуждае от нещо, което може да третира като низ - ако му дадете итератор, той го чете целия наведнъж и създава низ, така че няма налични спестявания на памет:

https://docs.djangoproject.com/en/ dev/ref/request-response/#passing-iterators

Така че имате нужда от нещо, което ще изтегли съдържанието на вашия обект за обвивка на файл с изображение, без да преминавате през интерфейса за итерация. прочетете прави това, като изтегля цялото съдържание на файла, ако не му дадете аргумент брой байтове. Затова първото нещо, което бих опитал е:

return HttpResponse(get_image.read(), mimetype="image/png")

Това не е тествано, така че може да съм пропуснал нещо.

Можете също да опитате да профилирате по-простия случай да оставите вашия хостинг уеб сървър да обработва изображенията и просто да обслужва пренасочване към URL върнат от FileField . Това би включвало допълнително HTTP двупосочно пътуване, за да каже на браузъра къде да търси, така че не мисля, че има универсално правило за това кой подход ще бъде по-бърз.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Номериране на редове с p:dataTable

  2. Преброяване на различни потребителски идентификатори от множество таблици

  3. Несъответствие на типа:не може да се преобразува от java.util.Date в java.sql.Date

  4. MYSQL:Как да СЪЕДИНЕТЕ две таблици към една и съща заявка, препращайки една и съща таблица два пъти

  5. Достъп до отдалечена база данни на mysql от командния ред