如何从gridview显示和下载word文件?

时间:2015-10-19 13:15:33

标签: c# sql asp.net gridview file-upload

我开发了一个系统来上传word文件和TITLE文本框,但不知道如何从gridview显示和下载。

 protected void UploadTender()
    {
        try
        {
            if (FileUpload1.HasFile)
            {


                string fileName = Path.GetFileName(FileUpload1.FileName);
                FileUpload1.PostedFile.SaveAs(Server.MapPath("~/UploadedTenders/") + fileName);

                HdnFieldUploadedTender.Value = fileName;



                ResultLabel.ResultLabelAttributes("Tender Uploaded", ProjectUserControls.Enums.ResultLabel_Color.Red);
                ResultPanel.Controls.Add(ResultLabel);
            }
            else
            {
                ResultLabel.ResultLabelAttributes("No file specified", ProjectUserControls.Enums.ResultLabel_Color.Red);
                ResultPanel.Controls.Add(ResultLabel);
            }
        }
        catch (Exception ex)
        {
            ResultLabel.ResultLabelAttributes(ex.Message, ProjectUserControls.Enums.ResultLabel_Color.Red);
            ResultPanel.Controls.Add(ResultLabel);
        }
        finally { }
    }

的GridView:

 <asp:GridView runat="server" ID="grdviewUploadedTenders" OnRowCommand="grdviewUploadedTenders_RowCommand" DataKeyNames="pk_UploadedTenders_UploadedTenderID" AutoGenerateColumns="false" CssClass="table table-condensed table-bordered table-striped table-responsive">
                                        <Columns>
                                            <asp:BoundField DataField="pk_UploadedTenders_UploadedTenderID" HeaderText="Tender ID" />
                                            <asp:BoundField DataField="UploadedTenderTitle" HeaderText="Tender Title" />
                                            <asp:BoundField DataField="UploadedTenderRemarks" HeaderText="Remarks" />
                                            <asp:BoundField DataField="UploadedTenderSystemEntryDateTime" HeaderText="Uploaded On" />

                                            <asp:ButtonField CommandName="cmdEdit" ImageUrl="~/assets/global/images/shopping/edit.png" ButtonType="Image" ControlStyle-Width="25px" ControlStyle-Height="25px" />
                                            <asp:TemplateField>
                                                <ItemTemplate>
                                                    <asp:ImageButton ID="btnDelete" runat="server" ImageUrl="~/assets/global/images/shopping/delete.png"
                                                        CommandName="cmdDelete" CommandArgument='<%# Container.DataItemIndex %>' OnClientClick="return confirm('Are you Sure ?');"
                                                        ControlStyle-Width="25px" ControlStyle-Height="20px" />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                        </Columns>
                                    </asp:GridView>

我在sql TABLE中存储文件路径。它存储在那里,但问题正在变得越来越困难。

1 个答案:

答案 0 :(得分:0)

选中此tutorial

在ASP.Net GridView中显示文件夹或目录中的文件

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/Uploads/"));
        List<ListItem> files = new List<ListItem>();
        foreach (string filePath in filePaths)
        {
            files.Add(new ListItem(Path.GetFileName(filePath), filePath));
        }
        GridView1.DataSource = files;
        GridView1.DataBind();
    }
}

从ASP.Net GridView下载上传的文件

protected void DownloadFile(object sender, EventArgs e)
{
    string filePath = (sender as LinkButton).CommandArgument;
    Response.ContentType = ContentType;
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath));
    Response.WriteFile(filePath);
    Response.End();
}