【问题标题】:How do append employeeID to a file path?如何将employeeID附加到文件路径?
【发布时间】:2015-10-28 15:22:00
【问题描述】:

我有这条路:

http://localhost/myfolder/uploads/filename.pdf

这是创建该链接的代码:

<asp:HyperLink ID="HyperLink1" Target="_blank" runat="server" Text='<%# Eval("filenameName") %>'
 NavigateUrl='<%# Eval("filePath") %>'>
 </asp:HyperLink>

uploads 文件夹在 web.config 文件中:

<appSettings>
<add key="FilePath" value="~/uploads/"/>
</appSettings>

我们希望在 filePath 中附加一个 ID,以便链接看起来更像这样:

http://localhost/myfolder/uploads/**12338**filename.pdf

我尝试了一些迄今为止没有奏效的方法。

例如,我尝试通过将 ID 与 filePath 连接来插入记录:

Insert into my table(filePath) Values(@ID+' '+@apFileName)

这样插入成功。但是,该链接现在显示为:

http://localhost/myfolder/12338/filename.pdf 是用上面的 INSERT 语句插入到数据库中的。

我尝试连接查询:

select ID+" "+filePath as filePath but same result as above.

我们附加 ID 的原因是为了防止用户上传具有相同文件名的文件,这将覆盖同名文件。

任何想法如何解决这个问题?

【问题讨论】:

  • 知道@ID 参数末尾的额外“/”来自哪里吗?
  • @NoAlias,感谢您的回复。如果我没记错的话,你的意思是如果我从 web.config 中的上传中删除额外的“/”,如下所示:,它会被修复吗?不,不会的。如果删除它,结果是:localhost/myfolder/uploads12338
  • 不,我问你是否知道额外的“/”来自 ID 之后但在文件名之前的位置。
  • @NoAlias,当你说extra 时,你是什么意思?我认为额外的意思是 // = 一个额外的“/”
  • localhost/myfolder/12338/filename.pdf - 我指的额外的“/”是12338和filename.pdf之间的那个。

标签: asp.net sql-server vb.net


【解决方案1】:

我可以看到您正在绑定 UI 中的值。可能会将代码后面的 id 添加到变量“filenameName”中可能会有所帮助?

【讨论】:

  • 我在 filenameName 中这样做了,它适用于文件名,但不是真正令人困惑的路径,因为文件路径只是您在 web.configure 文件中看到的上传。因此,当我尝试选择 ID+" "+filenameName 作为文件名时,它会将其附加到文件名而不是文件路径中。
  • 对不起,我很困惑..这是预期的路径吗? localhost/myfolder/uploads/**12338**filename.pdf
  • 是的,但没有星号。 localhost/myfolder/uploads/ 是 web.config 上的路径。然后,一旦选择了文件名,它就会保存文件名、数据库路径并将文件名上传到提供您引用的路径的上传文件夹。我不明白的是,在数据库中,文件名12338filename.pdf。该文件名附加到路径中。那么,为什么路径上的文件名不反映 12338filename.pdf 呢?它只是反映没有附加 ID 的文件名。
  • 可以分享一下上传路径保存文件的sn-p代码吗?因此,如果我在 DB 中的理解是正确的,则文件路径将正确存储,但在物理路径中,文件名不以 ID 为前缀。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2019-08-01
  • 1970-01-01
相关资源
最近更新 更多