[英]How to upload files on server?
我已经在服务器上部署了我的软件,在我的软件中有一个工具可以读取excel文件并在gridView中显示内容。
它在我的独立PC上工作正常,我怎么能在网上做到这一点?
我应该在服务器上上传我的excel文件然后阅读它还是直接从用户的PC上读取它?
有解决方案吗
你需要在你的页面上放置fileupload控件
<asp:FileUpload ID="fup" runat="server" />
然后在代码后面,保存此文件
fup.SaveAs(Server.MapPath("~/upload/temp/" + fup.FileName ));
你可以看看这篇文章
到目前为止,我没有收到您的问题。网上发生了哪些错误?
以下是可能对您有帮助的示例代码。 每次从客户端机器上传服务器上的excel文件并从中获取数据并绑定网格。
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
if (AsyncFileUpload1.HasFile)
{
string strPath = MapPath("~/Uploads/") + System.IO.Path.GetFileName(e.filename);
// gets extension of a file to check for a valid excel file
string ext = System.IO.Path.GetExtension(e.filename);
if (ext.ToLower() == ".xlsx" || ext.ToLower() == ".xls")
{
AsyncFileUpload1.SaveAs(strPath);
}
DataTable dt = getdata(strPath); // get data from excel file
BindGrid(dt);
}
}
您无法直接从用户PC读取它,无论如何都需要上传文件。
它在您的本地环境中运行良好,因为您的网站和您尝试阅读的文件有效地位于同一台计算机上。 因此,Web服务器可以直接加载文件,没有问题。
在实时环境中,网站将位于某个服务器上,而excel文件将位于用户自己的PC上。 在这种情况下,Web服务器无法访问该文件,您必须通过文件上载对话框上载到Web服务器。 然后,您可以将此文件保存到您指定的安全文件夹(理想情况下,在您的web.config中,以防您改变主意或需要移动它)在服务器上的某个位置并访问该文件以显示,操作甚至插入到数据库中你选择了。
我不认为你应该将它保存到你的服务器,除非你真的必须(这将需要你保存的目录的写权限)。 如果您使用Open XML读取Excel文件,则可以直接读取发布的流,而无需先通过SpreadsheetDocument.Open(FileUpload1.PostedFile.InputStream, false)
保存到文件中...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.