gpt4 book ai didi

c# - 使用 Asp.net 上传和下载文件

转载 作者:太空狗 更新时间:2023-10-30 01:35:56 24 4
gpt4 key购买 nike

我正在尝试使用文件上传控件上传然后使用 Asp.net C# 下载文件,但它给我一个目录未找到异常。谁能帮我解决这个问题,我在哪里犯了错误?

这是我的 .aspx 文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="fileuploadcheck.aspx.cs" Inherits="fileuploadcheck" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="padding: 20px;">
<tr>
<td>
<asp:Label ID="lblFilename" runat="server" Text="Browse:"></asp:Label>
</td>
<td>
<asp:FileUpload ID="fileUpload1" runat="server" />
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<asp:LinkButton ID="OnLnkUpload" runat="server" OnClick="OnLnkUpload_Click" Font-Underline="False">Upload</asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="OnLnkDownload" runat="server" OnClick="OnLnkDownload_Click" Font-Underline="False">Download</asp:LinkButton>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

这是我的代码隐藏文件:

    using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;

public partial class fileuploadcheck : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
/// To save/upload files in folder and download files from folder in asp.net
/// </summary>
string filename = string.Empty;

protected void btnUpload_Click(object sender, EventArgs e)
{

}

protected void OnLnkUpload_Click(object sender, EventArgs e)
{
filename = Path.GetFileName(fileUpload1.PostedFile.FileName);
fileUpload1.SaveAs(Server.MapPath("Files/" + filename));

Response.Write("File uploaded sucessfully.");
lblFilename.Text = "Files/" + fileUpload1.FileName;
}

// To download uplaoded file
protected void OnLnkDownload_Click(object sender, EventArgs e)
{
if (lblFilename.Text != string.Empty)
{
if (lblFilename.Text.EndsWith(".txt"))
{
Response.ContentType = "application/txt";
}
else if (lblFilename.Text.EndsWith(".pdf"))
{
Response.ContentType = "application/pdf";
}
else if (lblFilename.Text.EndsWith(".docx"))
{
Response.ContentType = "application/docx";
}
else
{
Response.ContentType = "image/jpg";
}

string filePath = lblFilename.Text;

Response.AddHeader("Content-Disposition", "attachment;filename=\"" + filePath + "\"");
Response.TransmitFile(Server.MapPath(filePath));
Response.End();
}
}
}

最佳答案

使用这个

 protected void OnLnkUpload_Click(object sender, EventArgs e)
{
filename = Path.GetFileName(fileUpload1.PostedFile.FileName);
fileUpload1.SaveAs(Server.MapPath("~/Files/" + filename));
Response.Write("File uploaded sucessfully.");
lblFilename.Text = "Files/" + fileUpload1.FileName;
}

Make sure your drive had permission for read/write ...

关于c# - 使用 Asp.net 上传和下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com