0

我知道服务器无法访问客户端的硬盘或目录,但是为什么当我将目录硬编码到我的应用程序中时,我可以访问该文件并将其上传到 SQL 数据库?

只是一个普通的按钮

 <asp:LinkButton ID="btnImportData" runat="server" OnClick="btnImportData_Click">Import Spreadsheet</asp:LinkButton>

然后是背后的代码

  protected void btnImportData_Click(object sender, EventArgs e)
        {
            dbConn.uploadToExcel(@"C:\Users\spadmin\Desktop\ABI Employee List.xlsx");
        }

然后我可以使用该文件来更新我的数据库并且它可以工作。

为什么他们然后说我不能使用来自客户端的目录?

更新

关于如何使用 Server.Mappath 上传到服务器的链接

4

2 回答 2

3

代码访问服务器上的文件。无论您使用哪台 PC 访问 Web 服务器,它总是在服务器的 C 驱动器上查找。

于 2013-05-03T10:12:59.467 回答
0

您不应该对这样的链接进行硬编码。FileUpload允许用户使用控件选择要上传的文件。

您提供的路径仅指向您的本地帐户的桌面(您的本地服务器)。实际上它不是从客户端的机器上传文件。

将文件保存到服务器时,请使用Server.MapPath().

于 2013-05-03T09:55:30.780 回答