覆盖共享文件中的图像

Overwrite images in a share file

我正在制作一个需要将文件上传到服务器上的共享文件的程序。我已经设法使用第三方库来做到这一点。

有什么方法可以使用 C# 覆盖图像文件吗?我可以上传,但我正在努力寻找覆盖旧图像文件的方法。

这是我尝试过的:

FileInfo OldFile = new FileInfo("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jpg");
bool FileExists = OldFile.Exists;
Console.WriteLine(FileExists);

尽管我确实知道我的共享驱动器上的文件存在,但返回的布尔变量为 false - 关于原因的任何推理?

如有任何建议,我们将不胜感激。

如果新的图片同名,可以检查文件是否存在,在创建新文件前将其删除。

注意:确保文件路径正确(还应包括文件名和扩展名)。

if (File.Exists("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jpg"))
{
    File.Delete("smb://serverUsername:ServerPassword@serverIP/sharefile/fileToDelete.jpg");
}

您可能会发现“替换”功能很有用,而且这将允许对文件进行备份(如果需要)

string backup = destination + ".bak";
File.Delete(backup);
File.Replace(source, destination, backup, true);

你可以玩一下。

更多信息: https://docs.microsoft.com/en-us/dotnet/api/system.io.file.replace?view=netcore-3.1