永发信息网

怎么把图片转化成二进制存进数据库要求完整过程

答案:2  悬赏:10  手机版
解决时间 2021-02-05 16:06
要求加注释解释清楚,把变量的名也标上
最佳答案
出,直到EOF(文件结束符)。当然写出时要按数据库约定的方式。

下面作为普通文件输出
FILE *fin,*fout;
void main()
{
int c;
fin=fopen( "duck.jpg","rb"); // 作为2二进制文件打开
fout=fopen("tmp.jpg","wb");
while(1){
c=fgetc(fin); // 一个字节一个字节地读入
if (feof(fin)) break; // 直到EOF
fputc ( c , fout ); // 改此句,让它符合数据库约定。
}
}
全部回答
回答第二个问题: 要循环输出图片,可以用一个普通的http处理文件,当有特定的路径请求时,http处理程序用于执行代码 handler.ashx public class handler : ihttphandler { public void processrequest (httpcontext context) { string imgid = context.request.querystring["imgid"]; sqlconnection conn = new sqlconnection("data source=.;initial catalog=test;integrated security=true"); string strsql = "select * from imagefiles where id="+ imgid; sqlcommand cmd = new sqlcommand(strsql, conn); conn.open(); sqldatareader reader = cmd.executereader(); if (reader.read()) { context.response.contenttype = "image/jpeg"; context.response.binarywrite((byte[])reader["imagefile"]); context.response.end(); reader.close(); } } upphoto.aspx <body> <form id="form1" runat="server" enctype="multipart/form-data" > <div> <asp:fileupload id="upphoto" runat="server" /> <asp:button id="btnadd" runat="server" text="上传" onclick="btnadd_click" /> <hr /> <asp:gridview id="gridview1" runat="server" autogeneratecolumns="false" datakeynames="id" datasourceid="sqldatasource1"> <columns> <asp:boundfield datafield="id" headertext="id" insertvisible="false" readonly="true" sortexpression="id" /> <asp:templatefield> <itemtemplate> <asp:image id="image1" runat="server" imageurl=&apos;<%# eval("id","~/handler.ashx?imgid={0}") %>&apos; /> </itemtemplate> </asp:templatefield> </columns> </asp:gridview> <asp:sqldatasource id="sqldatasource1" runat="server" connectionstring="<%&#36; connectionstrings:testconnectionstring2 %>" selectcommand="select * from [imagefiles]"></asp:sqldatasource> </div> </form> </body> upphoto.aspx.cs public partial class _default : system.web.ui.page { protected void page_load(object sender, eventargs e) { } protected void btnadd_click(object sender, eventargs e) { httppostedfile hpf = upphoto.postedfile; int upphotolength = hpf.contentlength; byte[] photoarray = new byte[upphotolength]; stream photostream = hpf.inputstream; photostream.read(photoarray, 0, upphotolength); sqlconnection conn = new sqlconnection("data source=.;initial catalog=test;integrated security=true"); string strsql = "insert into imagefiles values(@image)"; sqlcommand cmd = new sqlcommand(strsql, conn); cmd.parameters.add("@image", sqldbtype.image).value = photoarray; conn.open(); cmd.executenonquery(); conn.close(); gridview1.databind(); } } 我的数据库用sql2005,叫test只有一个字段image类型存放图片
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
圆形吸顶灯的亚克力面罩怎么取下来
石龙曙光希望完全小学地址有知道的么?有点事
如图为中国古代史上某朝代中央行政体制示意图
必胜客怡景中心城餐厅我想知道这个在什么地方
打开ppt出现已经停止工作,怎么解决
12米比()米多五分之三,()米比12米少五分
大理市下关八小地址在哪,我要去那里办事
享福的意思是什么啊?知道的请说下!
马尔济斯犬爱叫吗?马尔济斯犬乱叫怎么办?
经济开发区满江小学地址好找么,我有些事要过
cheap monday便宜星期一上海哪里有cheap mond
华辰大酒店-商务中心我想知道这个在什么地方
求老寿山石价格
甸中完全小学怎么去啊,我要去那办事
如何用霍尔传感器实现电动小车测速
推荐资讯
朝阳医院(朝阳路)地址有知道的么?有点事想过
红太阳家电城我想知道这个在什么地方
为什么换了变速箱油后还是换挡顿挫
典雅红木馆地址在什么地方,想过去办事
三关的意思是什么啊?知道的请说下!
烦秽的意思是什么啊?知道的请说下!
【塞葡萄吸葡萄肉肉段】...其中1~6表示相关
晶晶亮土产日杂怎么去啊,有知道地址的么
市面上小鱼仔熟食做法
例如:妈妈给小树浇水。爸爸给怎么样
众益汽车维修地址在什么地方,想过去办事
全民钢琴课堂地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?