当我的应用程序复制文件时,此文件名会更改

时间:2018-01-05 11:38:23

标签: sql-server windows file-handling

我在vb.net中有一个应用程序,用户可以在其中保存并查看附件。我将这些保存的附件保存在网络位置,当用户被要求查看其中一个时,我将其通过sql server通过存储过程复制到他的电脑中。我的代码是这样的:

>     declare @Filename nvarchar(1000)
>     declare @SourcePath nvarchar(1000)
>     declare @UserPath nvarchar(1000)
>     
>       
>     -- The file @Filename is input in stored procedure but for example lets say is a var
>     set @Filename='something - PO number.htm'
>     
>       
>     --Configure the SourcePath and UserPath 
>     --Source Path: The Path were there are all saved files 
>     --User Path: The path where i copy the file.
>     set @SourcePath=@SourcePath + '\"' + @Filename + '"'
>     set @UserPath=@UserPath + '\"' + @Filename + '"'
>     
>     
>     -- Do the copy
>     declare @CommandText nvarchar(1000)
>     
>     set @CommandText='copy ' + @SourcePath + ' ' + @UserPath
>     
>     exec master.dbo.xp_cmdshell @CommandText

问题是我有一个用户无法打开该文件。因为当文件被复制到他的文件夹中时,文件名会将名称更改为' something-S number.htm'。

实施例

所以,我复制了一些东西 - PO number.htm'在他的文件夹中,文件被复制为'东西 - S number.htm'

我的应用程序试图找到一个名为'某事物的附件 - PO number.htm'为了打开这个文件。并且看到此文件不存在,因为其名称已更改。

仅发生这种情况

  • 一位用户
  • 表示一个特定文件(该名称与示例类似)
  • 只在他的电脑上

有人知道为什么会这样吗?

0 个答案:

没有答案