【问题标题】:AjaxFileUpload fileName is full path, not just file nameAjaxFileUpload fileName 是完整路径,而不仅仅是文件名
【发布时间】:2012-07-26 16:31:00
【问题描述】:

我在 Visual Studio 2010 中使用 Ajax 文件上传控件运行我的 Web 表单的本地版本。

我通过上传文件并将e.fileNamee.fileSize 等写入数据库进行测试,然后使用GridView 稍后下载文件。

我的问题是这样的:当我将e.fileName 写入数据库时​​,它给了我文件的整个路径(即“C:\Folder\filename.xls”)作为文件名。

我们将不胜感激有关纠正此问题的建议。

【问题讨论】:

    标签: c# asp.net ajaxcontroltoolkit


    【解决方案1】:

    您可以在System.IO 中使用Path.GetFileName

    string justTheName = Path.GetFileName(e.fileName);
    

    然后将“justTheName”传递给数据库。

    【讨论】:

    • 我做了这个改变,效果很好!这似乎仅适用于从我的代码的本地构建/调试中写入数据库。当我将此代码放在 IIS 上的虚拟文件夹中时,问题仍然存在(即文件名仍然是“C:\folder\filename.xls”) 感谢您的回复,但问题不再在我的本地构建中,但仍然存在从服务器构建运行时应用。
    • @central 啊,很好。根据this answer,使用Server.MapPath 获取真实路径可能更有益(在您的开发环境中),然后使用Path.GetFileName。类似string justTheName = Path.GetFileName(Server.MapPath(e.fileName));
    猜你喜欢
    • 1970-01-01
    • 2022-07-15
    • 2021-06-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多