Access to the path 'C:WebSite1' is denied while downloaing and after uploading file/image file name is showing up in gridview in asp.net
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="fileUpload1" runat="server" />
<br />
<asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click" />
<%-- <asp:GridView ID="gvDetails" CssClass="Gridview" runat="server" AutoGenerateColumns="false" DataKeyNames="FilePath">
<HeaderStyle BackColor="#df5015" />
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:BoundField DataField="FileName" HeaderText="FileName" />
<asp:TemplateField HeaderText="FilePath">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="Download" OnClick="lnkDownload_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>--%>
<asp:GridView ID="gvDetails" runat="server" DataKeyNames="FilePath" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Id" HeaderText="id" />
<asp:BoundField DataField="FileName" HeaderText="Filename" />
<asp:TemplateField HeaderText="FilePath">
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" runat="server" Text="download" OnClick="lnkDownload_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Odbc;
using System.Data;
using System.Configuration;
using System.IO;
public partial class Default2 : System.Web.UI.Page
{
OdbcCoection co= new
OdbcCoection(ConfigurationManager.CoectionStrings["demo1"].CoectionString);
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
bindgridview();
}
}
private void bindgridview()
{
co.Open();
OdbcDataAdapter da= new OdbcDataAdapter("select * from test5",co);
DataSet ds= new DataSet();
da.Fill(ds);
gvDetails.DataSource= ds;
gvDetails.DataBind();
}
//protected void Button1_Click(object sender, EventArgs e)
//{
// // string filename = "download.pdf";
// // System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
// // Response.Clear();
// //Response.ClearContent();
// Response.ContentType="image/jpg";
// Response.AddHeader("Content-Disposition" , "attachement; Filename=hello.pdf ;" );
// Response.TransmitFile(Server.MapPath("~/6028656-20160315.pdf"));
// // Response.Flush();
// // Response.End();
// //Response.Write("<script>alert('Hello');</script>");
//}
protected void btnUpload_Click(object sender, EventArgs e)
{
string filename = Path.GetFileName(fileUpload1.PostedFile.FileName);
fileUpload1.SaveAs(Server.MapPath("Files/" + filename));
co.Open();
OdbcCommand cmd = new OdbcCommand("insert into test5(FileName,FilePath) values(@Name,@Path)", co);
cmd.Parameters.AddWithValue("@Name", filename);
cmd.Parameters.AddWithValue("@Path", "Files/" + filename);
cmd.ExecuteNonQuery();
co.Close();
bindgridview();
btnUpload.Attributes.Add("onclick", "document.getElementById('" + fileUpload1.ClientID + "').click();");
}
protected void lnkDownload_Click(object sender, EventArgs e)
{
LinkButton lnkbtn = sender as LinkButton;
GridViewRow gvrow = lnkbtn.NamingContainer as GridViewRow;
string filePath = gvDetails.DataKeys[gvrow.RowIndex].Value.ToString();
Response.ContentType = "image/jpg";
Response.AddHeader("Content-Disposition", "attachment;filename=~"" + filePath + """);
Response.TransmitFile(Server.MapPath(filePath));
Response.End();}
i am getting this error while downloading the `file/image from the gridview
