#c# #file #file-upload #system.io.file
#c# #файл #загрузка файла #system.io.file
Вопрос:
Я создаю программу, которой необходимо загружать файлы в общий файл на сервере. Мне удалось сделать это с помощью сторонней библиотеки.
Есть ли какой-нибудь способ перезаписать файл изображения с помощью C #? Я могу загружать файлы, но мне трудно найти способ перезаписать старые файлы изображений.
Вот что я попробовал:
FileInfo OldFile = new FileInfo("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jp&");
bool FileExists = OldFile.Exists;
Console.WriteLine(FileExists);
Несмотря на то, что я точно знаю, что файл на моем общем диске существует, логическая переменная вернулась как false — есть какие-либо рассуждения о том, почему?
Будем признательны за любые предложения.
Ответ №1:
вам может оказаться полезной функция «заменить», также это позволит сделать резервную копию файла (если вы хотите)
strin& backup = destination ".bak";
File.Delete(backup);
File.Replace(source, destination, backup, true);
С этим можно немного поиграть.
Дополнительная информация: https://learn.microsoft.com/en-us/dotnet/api/system.io.file.replace?view=netcore-3.1
Ответ №2:
Если новое изображение имеет то же имя, вы можете проверить существование файла и удалить его перед созданием нового файла.
Примечание: Убедитесь, что путь к файлу указан правильно (имя файла вместе с расширением также должно быть указано).
if (File.Exists("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jp&"))
{
File.Delete("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jp&");
}
Комментарии:
1. Чем это отличается от примера, который я привел в своем вопросе? Разве это не одно и то же?
2. Я не сомневаюсь в вашем ответе — я просто чувствую, что они одинаковые
3. Я только что попробовал это в своем коде, и это .. сработало? Я в шоке. Даже не уверен, чем это отличалось от моей первоначальной попытки, но я ценю вашу помощь. Отметьте свой ответ как правильный
4. Оба варианта одинаковы, но здесь ваше требование — просто проверить, существует ли файл, поэтому просто хотелось уточнить.
5. Спасибо за помощь. Вы случайно не знаете разницу между типом данных «FileInfo» и обычной строкой? В моем коде это работает в обоих направлениях, поэтому мне было интересно, в чем преимущество этого типа данных