asp.net
  • sql-server
  • vb.net
  • 2015-10-28 102 views 0 likes 
    0

    我有这样的路径:如何将employeeID附加到文件路径?

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

    这是创建一个链接代码:

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

    的上传文件夹是在web.config文件:

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

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

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

    我已经尝试了一些迄今为止还没有工作的东西。

    例如,我曾试图用文件路径串接ID插入一条记录:

    Insert into my table(filePath) Values(@ID+' '[email protected]) 
    

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

    http://localhost/myfolder/12338/filename.pdf这是用上述INSERT语句插入数据库的内容。

    我试图串联查询:

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

    我们追加ID的原因是为了阻止用户上载有相同文件名的文件,该文件将覆盖同名文件。

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

    +1

    任何有关额外“/”来自@ID参数结尾的信息? – N0Alias

    +0

    @NoAlias,谢谢你的回复。如果我没有弄错,你建议如果我从web.config中删除额外的“/”,如下所示: \t \t 将被修复? 不,它不会。如果删除了,那么结果是:http:// localhost/myfolder/uploads12338 –

    +0

    不,我在问你是否知道额外的“/”来自ID之后,但是在文件名之前。 – N0Alias

    回答

    0

    我可以看到你绑定了UI中的值。可能会将来自Code后面的代码添加到变量“filenameName”中可能有帮助?

    +0

    我在文件名中做了这项工作,但它不是真正令人困惑的路径,因为文件路径只是您在web.configure文件中看到的上传文件。 因此,当我尝试选择ID +“”+ filenameName作为filenameName时,它会将其附加到文件名,但不会附加到filepath中。 –

    +0

    对不起,我很困惑..这是预期的路径吗? http://localhost/myfolder/uploads//**12338**filename.pdf –

    +0

    是的,但没有星号。 localhost/myfolder/uploads /是web.config上的路径。然后,一旦选择了文件名,它将保存文件名,数据库路径并将文件名上传到上传文件夹,该文件夹将提供您引用的路径。 我不明白的是,在数据库中,文件名为12338filename.pdf。该文件名被追加到路径中。那么,为什么路径上的文件名不是12338filename.pdf? 它只是反映了没有附加ID的文件名。 –

    相关问题