将文件名映射到服务器Asp.net上的路径

时间:2010-06-28 14:26:30

标签: c# asp.net vb.net

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

例如,如果我使用上传控件浏览到 B:\ MIS \ CHIntive \ RPTTOFL_3.csv并且代码存在于我的localhost上,它知道该文件路径意味着它的工作原理,但如果代码被移动到生产服务器,它可能或可能不知道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(“〜/”)+ filename);

现在我想将文件名传递给上面的函数进行处理。我是否将Server.MapPath(“〜/”)+ filename作为文件名传递?另外,当我完成了如何从服务器删除文件?

1 个答案:

答案 0 :(得分:1)

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

相关问题