永发信息网

如何读取access中长二进制数据,长二进制数据数据格式为PDF格式。急急急

答案:2  悬赏:50  手机版
解决时间 2021-02-26 06:37
  • 提问者网友:眉目添风霜
  • 2021-02-25 10:00
我有一个MDB数据库文件,用access打开,表中有一个长二进制数据,数据里保存的应该是PDF文件,请问高手如何才能读取这个数据。
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-02-25 10:18
vb、vba、sbscript使用ADO GetChunk方法

GetChunk 方法可返回一个 variant 值,该值包含大的文本或二进制数据 Field 对象的全部或部分内容
GetChunk 调用返回的数据将被分配给 variable。如果 Size 大于剩余的数据,GetChunk 方法仅返回剩余的数据而不用空格填充 variable。如果该字段为空,GetChunk 方法将返回 Null 值。

语法:variable_name=field.GetChunk(size)
size:Long 表达式,等于要检索的字节或字符数。

你是在什么地方读取文件?显示文件的时候申明文件类型为pdf,然后用BinaryWrite(field.GetChunk(size)
全部回答
  • 1楼网友:蕴藏春秋
  • 2021-02-25 11:47
以下为C#读取一条带二进制数据记录的例子 可以这样处理,建一个名为Attachdownload.ashx的事件处理程序, 调用方法为 Attachdownload.ashx?AID=记录号; 后台代码(数据为LINQ TO SQL方式读取) public class Attachdownload : IHttpHandler { public void ProcessRequest(HttpContext context) { // Set up the response settings context.Response.Cache.SetCacheability(HttpCacheability.Public); context.Response.BufferOutput = false; if (!string.IsNullOrEmpty(context.Request.QueryString["AID"])) { //取页面传来的参数 Guid AID = new Guid(context.Request.QueryString["AID"]); //取公告附件记录 SI_Affiche Affiche = Whiteboard.GetItemByID(AID); //取记录中的文件名 string filename = context.Server.UrlEncode(Affiche.AttachTitle); //取记录中的文件类型 string filetype = Affiche.AttachType; { //输出数据 if (Affiche.Attach.Length > 0) { context.Response.Clear(); context.Response.Buffer = true; context.Response.Charset = "utf-8"; context.Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename); //把 attachment 改为 online 则在线打开 context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); context.Response.ContentType = filetype; context.Response.BinaryWrite(Affiche.Attach.ToArray()); } } } } public bool IsReusable { get { return false; } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯