使用StreamWriter(File.Copy())复制图片C#

使用StreamWriter(File.Copy())复制图片C#,c#,image,streamreader,streamwriter,openfiledialog,C#,Image,Streamreader,Streamwriter,Openfiledialog,我正在尝试将用户使用OpenFileDialog选择的图片复制到我的文件夹中。我以前从未这样做过,但我认为正确的方法是复制。 这是StreamReader的代码: if (openFileDialogOdaberiSliku.ShowDialog() == System.Windows.Forms.DialogResult.OK) { StreamReader read = new StreamReader(File.OpenRead(openFileDialogOdaberiSlik

我正在尝试将用户使用OpenFileDialog选择的图片复制到我的文件夹中。我以前从未这样做过,但我认为正确的方法是复制。 这是StreamReader的代码:

if (openFileDialogOdaberiSliku.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
     StreamReader read = new StreamReader(File.OpenRead(openFileDialogOdaberiSliku.FileName));

     destinationRead = read;
     uiInputSlika.Text = destinationRead.ToString();
     read.Dispose();
}
这是StreamWriter的代码:

destinationSave = "..\\bin\\Slike\\Slika" + name;
StreamWriter save = new StreamWriter(File.Copy(destinationRead.ToString(), destinationSave));
save.Dispose();
在StreamWriter中,我得到一个错误,上面写着:

错误CS1503参数1:无法从“void”转换为“System.IO.Stream”

我是个新手,非常感谢您的帮助。

使用以下代码:

if (openFileDialogOdaberiSliku.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        var bytes = File.ReadAllBytes(openFileDialogOdaberiSliku.FileName);
        uiInputSlika.Text = destinationRead.ToString();
        destinationSave = "..\\bin\\Slike\\Slika" + name;
        File.WriteAllBytes(destinationSave,bytes)
    }
也可以使用File.Copy()。如下图所示:

 File.Copy(openFileDialogOdaberiSliku.FileName,destinationSave );

StreamReader
是一个
文本阅读器
——用于处理文本;大多数图像不是文本,因此
StreamReader
不应成为任何解决方案的一部分;看看你想做什么……什么是
uiInputSlika
,什么是
.Text
?如果这是一幅图像,我不清楚它在uiInputSlika中是如何应用的。文本我保存图片用户选择的路径您应该可以使用
File.Copy
,假设这两个文件路径可以直接访问。您可以使用原始
来读取二进制数据,但不能使用
流阅读器
——也就是文本——但到目前为止,我还没有看到您需要达到该级别,当
文件时。复制
应该可以正常工作,最终我们在这里讨论的是文件;如果目标文件已经存在,将覆盖;如果它不存在,它会创造新的;这与您尝试执行的操作有何不同?为什么您不只是
File.Copy(openFileDialogOdaberiSliku.FileName,destinationSave)
?无需将整个图像加载到内存中-见鬼,将整个事情推迟到操作系统