Вот мои проблемы: При загрузке из любого другого места это работает. Однако, если я попытаюсь загрузить эти файлы, ошибка не исчезнет.
C:\Users\User\OneDrive - TEAM\2021\Libra\Doc. полный ТЕСТ контракта - Клиент 17-06-2021.pdf
C:\Users\User\OneDrive - TEAM\Client\2021\doc12719720210701124854 полный контракт.pdf
Кажется, я не вижу здесь недопустимых символов... Пожалуйста, помогите.
Функция:
{
if (file != null && file.ContentLength > 0)
{
var path = Path.Combine(Server.MapPath("~/Files/"), file.FileName);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
try
{
file.SaveAs(path);
}
catch (Exception ex)
{
Log.LogError(string.Format("Unexpected error"));
}
return file.FileName;
}
return "";
}
Я не думаю, что вы можете получить доступ к файлам OneDrive таким образом — вам нужно пройти аутентификацию. См. docs.microsoft.com/en-us/graph/onedrive-concept-overview, docs.microsoft.com/en-us/onedrive/developer/rest-api/…. и docs.microsoft.com/en-us/onedrive/developer/…
Две вещи. 1) С местоположениями OneDrive связана какая-то магия (поскольку они синхронизируются с Интернетом в фоновом режиме). Я не уверен, что это за магия, но иногда она провоцирует проклятия. 2) выберите путь и используйте кодировку UTF8, чтобы превратить его в массив байтов. Посмотрите, не прячется ли там что-то плохое