Надеюсь, это поможет другим:
Нам нужно закодировать имя файла, содержащее символы utf. Вы можете сделать это перед добавлением заголовка ответа:
//filename - 2100871-2_החל_25042019.xlsx
var file = HttpUtility.UrlEncode(filename, Encoding.UTF8);
Response.AddHeader("Content-Disposition", "attachment;filename=" + file + ".xlsx");
Затем на стороне клиента мы должны расшифровать его, используя
var filename;
var disposition = headers['content-disposition'];
if (disposition && disposition.indexOf('attachment') !== -1) {
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
var matches = filenameRegex.exec(disposition);
if (matches != null && matches[1]) {
filename = matches[1];
}
}
filename = decodeURIComponent(filename); //decode here