【问题标题】:Mapping A Filename To Paths on A Server Asp.net将文件名映射到服务器 Asp.net 上的路径
【发布时间】:2010-06-28 23:01:30
【问题描述】:

我的代码有问题。我的代码正在使用 fileupload 控件在您添加文件名时浏览文件名,它会处理它,并且代码在本地主机上运行良好,但是当我将代码放在我们的生产服务器上时,它找不到由列出的文件名用户。

例如,如果我使用上传控件浏览到 B:\MIS\CH Intive\RPTTOFL_3.csv 并且代码位于我的本地主机上,它知道该文件路径意味着它的工作原理,但是如果将代码移动到生产服务器,它可能知道也可能不知道 B:/ 是什么或 B :/ 可能映射到别的东西。 即使我正在浏览我的 C 驱动器上的文件,如果代码在 C 驱动器所在的机器上,它也可以工作,但如果代码在另一台机器上,它将无法工作,因为显然该文件不会在那个机器上C盘。

Private Function CSV2DataTable(ByVal filename As String) As DataTable

Using MyReader As New  _
Microsoft.VisualBasic.FileIO.TextFieldParser(filename)
            MyReader.TextFieldType = FileIO.FieldType.Delimited

.
.
.

我可以在 asp.net 中做什么来使文件名正常工作?

好吧,假设我得到文件名并保存它

FileUploadControl.SaveAs(Server.MapPath("~/") + 文件名);

现在我想将文件名传递给上面的函数进行处理。我是否将 Server.MapPath("~/") + filename 作为文件名传递?另外,当我完成后,我该怎么做才能从服务器中删除文件?

【问题讨论】:

    标签: c# asp.net vb.net


    【解决方案1】:

    您似乎在混合文件的客户端和服务器位置。在读取上传的文件之前,服务器端代码必须将其保存在服务器上(此时客户端文件位置几乎无关紧要)。来自 FileUpload 类的 VS 帮助:“您为保存指定文件而编写的代码应调用 SaveAs 方法,该方法将文件的内容保存到服务器上的指定路径。” FileUpload 控件的在线帮助主题有足够的信息(带有示例)来实现您所需要的。

    【讨论】:

    • 你能用我正在寻找的代码指出一个好的吗?
    • 我需要能够将文件名传递给函数。我该怎么做?
    • msdn.microsoft.com/en-us/library/… - 正如您将从那里的示例中看到的那样,您可以完全控制服务器上保存上传文件的位置,因此在将文件保存在服务器上后,您知道其完整路径传递给函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多