2012-09-17 88 views
1

我想将图像保存到文件夹中,并将文件夹的路径保存到数据库中。将文件保存到数据库的文件夹和路径中

我已经使用File.Copy(filepath)命令完成了这一操作,但当同名文件已经存在时,它会给出错误信息。

此命令中的第二件事是我必须提供一个文件名,从中复制文件。如果我正在修改记录而不是图像,那么它会给出错误,即文件源不能为空。

我也试过Picture1.image.save(filename)但我还没有找到任何命令来覆盖现有的文件。

请帮助我提供一个最简单的方法来做到这一切。

+0

听起来像这是数据库设计的问题,如果它有重复的问题。它不应该如此,或者你的设计是错误的,或者你访问数据库的方式是错误的。 –

回答

3

File.Copy()方法接受bool的方法会超载,该方法将确定是否覆盖具有相同名称的任何现有文件。

http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

+0

先生,我不想使用File.Copy方法,因为它正在采取必要的文件保存图像。我已经写过,当我想修改数据而不是图像时,它会给出错误。我想从Picture Box中得到像“Picture1.image.save(filename)”的参数,而不是从OpenFileDialog Box中获取参数。谢谢 –

+0

我很努力地理解你的意思。 File.Copy与OpenFileDialogBox没有关联 - 你可以用任何你喜欢的方式派生目标和源参数 - 它们只是字符串。这回答了你的问题了吗?努力去看你对不起的东西。清楚地说明你期望用户能够做什么(确切的步骤)以及到目前为止失败的时候,我可以更准确地帮助你。目前 - 听起来不像,考虑到你的问题,你需要避免File.Copy - 但就像我说我不太明白。 –

0

File.Copy(sourceFileName, destFileName, true)将迫使现有文件的覆盖。

参见MSDN File.Copy

0
if(File.Exists(destinationFileName)) 
{ 
    File.Delete(destinationFileName); 
} 

File.Copy(sourceFileName, destinationFileName); 

sourceFileName shoudl是源文件的完整路径(包括文件名称)。 destinationFileName应该是您要保存文件的完整路径(包括文件名)。

0

您必须先检查文件是否存在?

使用的FileInfo,

FileInfo file = new FileInfo(location); 
if(file.Exists()) 
{ 
File.Delete(location); 
File.Copy(srcLocation, location); 
} 

这样就可以避免错误。

相关问题