为了账号安全,请及时绑定邮箱和手机立即绑定

使用 FileStream 从 Adob​​e PDF 阅读器保存选定的 PDF 时如何解决我的

使用 FileStream 从 Adob​​e PDF 阅读器保存选定的 PDF 时如何解决我的

C#
白衣非少年 2022-07-10 10:22:31
我正在使用 Adobe PDF Reader 从我的计算机查看扫描的纸张,并尝试将其保存到我的 Windows 窗体应用程序中的数据库中。我使用打开文件对话框选择 PDF 文件,然后我需要将它保存在我的数据库中。我正在使用以下代码:private void btnPDF_Click(object sender, EventArgs e)        {            OpenFileDialog ofd = new OpenFileDialog();            if (ofd.ShowDialog() == DialogResult.OK)            {                PDFViewer.src = ofd.FileName;            }        }private void btnsave_Click(object sender, EventArgs e)        {            MemoryStream msins = new MemoryStream();            MemoryStream msid = new MemoryStream();            pictureInsurance.Image.Save(msins, pictureInsurance.Image.RawFormat);            pictureIDIQAMA.Image.Save(msid, pictureIDIQAMA.Image.RawFormat);            byte[] byteInsurance = msins.ToArray();            byte[] byteId = msid.ToArray();            FileStream fStream = File.OpenRead("C:\\myfile.pdf");            byte[] Doccontents = new byte[fStream.Length];            fStream.Read(Doccontents, 0, (int)fStream.Length);            fStream.Close();            if (update == 1)            {                patient.ADD_PATIENT(textName.Text,                                Convert.ToInt32(textAge.Text),                                textMobile.Text,                                textEmail.Text, textaddress.Text,                                Convert.ToInt32(combogender.SelectedValue),                                textIDNO.Text,                                Convert.ToInt32(comboNat.SelectedValue),                                 byteInsurance,byteId,Doccontents);                MessageBox.Show("Patient Added Successfully", "ADD PATIENT", MessageBoxButtons.OK, MessageBoxIcon.Information);}当我使用固定路径时,它会将内容保存在数据库中:FileStream fStream = File.OpenRead("C:\\myfile.pdf");但是当我使用 Adobe PDF 阅读器的名称保存选定的 PDF 文件时,它会显示以下错误“在 mscorlib.dll 中发生‘System.ArgumentException’类型的未处理异常我需要对代码进行哪些更改来保存所选文件而不是 PDFViewer.src 或者我如何使用 byte[] 方法和内存流(如图像)将 PDF 保存在 SQL Server 数据库中?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

File.OpenRead() 的参数需要一个字符串。如果 PDFViewer.src 不是字符串类型而是 URI 类型(或类似类型),那么您会遇到您提到的问题。确保 PDFViewer.src 是一个字符串(包含有效的路径和文件名)或将其转换为字符串,如果可能的话:

 FileStream fStream = File.OpenRead((PDFViewer.src).ToString());

或者

 FileStream fStream = File.OpenRead((string)PDFViewer.src);


查看完整回答
反对 回复 2022-07-10
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号