下载代码 - Linq C#
本文关键字:Linq 代码 下载 | 更新日期: 2023-09-27 18:34:41
我有这段代码工作,它将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后将其存储在临时文件中。