下载代码 - Linq C#



我有这段代码工作,它将PDF文档上传到SQL Server express,并将其显示给DataGridView。 如何下载或查看(默认为 pdf 阅读器(上传的文件?

我找到的大多数代码片段都是 ASP.NET 的;这是Winforms。 谢谢。

private void btnSave_Click(object sender, EventArgs e)
{
    if (docnoTextBox.Text == "" && docfromTextBox.Text == "")
    {
        MessageBox.Show("Cannot save empty strings");            
    }
    else
    {
        try
        {
            iteisDataContext das_db = new iteisDataContext();
            Document newDoc = new Document();
            newDoc.docid = docnoTextBox.Text;
            newDoc.docdate = docdateDateTimePicker.Value;
            newDoc.postdate = DateTime.Now;
            newDoc.doctype = cboDocType.Text;
            newDoc.docfrom = docfromTextBox.Text;
            //Convert string to linq.binary
            Binary pdfFile = new ASCIIEncoding().GetBytes(ofdMain.FileName);
            // And back to string - dae pa ini confirmado!
            //string fileUpload = Encoding.ASCII.GetString(pdfFile.ToArray());
            newDoc.docupload = pdfFile;
            newDoc.docsubject = docsubjectTextBox.Text;
            newDoc.notes = notesTextBox.Text;
            // Update database
            das_db.Documents.InsertOnSubmit(newDoc);
            das_db.SubmitChanges();
            MessageBox.Show("Document Saved.", "Success",
                MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }

在WinForms中,您可以使用Acrobat 阅读器ActiveX控件(添加引用->COM Components -> AcroPDF.PDF(直接在应用程序中显示PDF文件。这要求在客户端计算机上安装 Adobe Reader:

var pdf = new AxAcroPDF();
pdf.LoadFile(@"c:test.pdf");

另一种可能性是使用 Process.Start 方法在客户端计算机上使用默认程序打开 PDF:

Process.Start(@"c:test.pdf");

这两种情况下,您都需要在从数据库中读取PDF后将其存储在临时文件中。

最新更新