Загрузка файла Нэнси с международными символами - PullRequest
0 голосов
/ 03 мая 2019

Я использую Nancy для размещения внутреннего веб-сайта, и мне нужно загружать файлы с международными символами в именах (é, á, ü и т. Д.). Это обработчик сообщения:

            Post["/savefile"] = _ => {
                var file = Request.Files.Single();
                byte[] bytes = Encoding.Default.GetBytes(file.Name);
                var fullname = string.Format("{0}{1}_{2}", @"C:\Files\", "Test", Encoding.UTF8.GetString(bytes));
                try {
                    using (var filestream = File.OpenWrite(fullname)) {
                        file.Value.CopyTo(filestream);
                    }
                    return "OK";
                } catch (Exception ex) {
                    return ex.Message;
                }

И запрос в Angular:

  SaveFile(){
    const fd = new FormData();
    fd.append('File',this.file,encodeURIComponent(this.selectedFile));
    this.httpClient.post('http://localhost:61210/savefile',fd,{responseType:'text'}).subscribe(result=>{
      alert(result);
    });
  }

Он работает с обычными символами в имени файла, но я получаю «Доступ к XMLHttpRequest в« http://localhost:61210/savefile' из источника »http://localhost:4200'была заблокирована политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "когда я пробую венгерские символы.Я почти уверен, что это как-то связано с кодировкой символов, но чего мне не хватает?

...