Использование 2-байтового имени файла для прикрепляемого файла StreamingHttpResponse
def iter_csv(rows, pseudo_buffer):
yield pseudo_buffer.write(codecs.BOM_UTF8)
writer = csv.writer(pseudo_buffer)
for row in rows:
yield writer.writerow(row)
def download_csv(queryset=None, filename=None, column_names=None):
writer = csv.writer(Echo())
rows = [column_names]
rows.extend(queryset)
filename = "テスト.csv" # this setting is ignored.
filename = "test.csv" # it works
return StreamingHttpResponse(
(iter_csv(rows, Echo())),
#(writer.writerow(row) for row in rows),
content_type='text/csv',
headers={
'Content-Disposition': f'attachment; filename={filename}'}
)
Я хочу использовать 2-байтовый символ для имени файла.
Когда я устанавливаю filename = "test.csv"
, имя загружаемого файла test.csv
Когда я устанавливаю filename = "テスト.csv"
, почему-то эта настройка игнорируется и имя файла загрузки становится {urlname}.csv