如何从数据库中读取图片,图片存在文件夹中

如何从数据库中读取图片,图片存在文件夹中,第1张

我来回答你吧!我这些天碰到了和你一样的问题,后来我解决了,我给你两种方法。

方法一:图片是直接存在SQL Server中的Image类型中的,你首先新建一个空白的aspx网页,在这个新建的网页的Page_Load()中读出Image,然后用Response.BinaryWrite()函数显示出来,然后在你原来的那个网页中的Image控件的ImageURL属性填那个新建的aspx网页,就是

image1.ImageUrl = "temp.aspx"这样就好了

方法二:数据库存的不是Image字段,而是图片的的地址,然后再Image的ImageURL中填这个地址就行了,直接能显示出来。

我用的第二种方法,在我前几天就这问题感到很迷茫的时候搜了很多资料,假如你还是不清楚就可以跟我说,我这段时间都在线!祝你好运!

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//获取文件名为filename的文件大小。

{

FILE *fp = fopen(filename, "rb")//打开文件。

int size

if(fp == NULL) // 打开文件失败

return -1

fseek(fp, 0, SEEK_END)//定位文件指针到文件尾。

size=ftell(fp)//获取文件指针偏移量,即文件大小。

fclose(fp)//关闭文件。

return size

}

int main ()

{

int size=0

size=file_size("qw")

printf("%d\n",size)

FILE * pFile,*qw

char *buffer=(char*)malloc(sizeof(char)*size)

qw   =fopen("qw","r")

pFile = fopen ( "qwe" , "wb" )

printf("%d==\n",pFile)

printf("%d\n",size)

fread(buffer,1,size,qw)

fwrite (buffer , sizeof(byte), size , pFile )

fclose (pFile)

rename("qwe","Groot.jpg")

return 0

}

扩展资料:

c语言读取TXT文件:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_LINE 1024

int main()

{

char buf[MAX_LINE]  /*缓冲区*/

FILE *fp            /*文件指针*/

int len             /*行字符个数*/

if((fp = fopen("test.txt","r")) == NULL)

{

perror("fail to read")

exit (1)

}

while(fgets(buf,MAX_LINE,fp) != NULL)

{

len = strlen(buf)

buf[len-1] = '\0'  /*去掉换行符*/

printf("%s %d \n",buf,len - 1)

}

return 0

}

下面我们将示例一个图片文件读取存储至数据库并从数据库中读取图片信息并显示的案例:

1、首先读取硬盘上的某一具体图片文件,读取模式设置为readBinary方式:

<cffile

action

=

"readBinary"

file

=

"temp

directory

here#file.serverFile#"

variable

=

"test">

2、将读取出来的二进制内容存储至数据库中(注:数据库字段需设置成能存储图片类型的字段,如blob类型):

<cfquery

datasource

=

"datasource">

insert

into

imageTest

values

(<cfqueryparam

cfsqltype="cf_sql_blob"

value="#test#">)

</cfquery>

通过1、2两个步骤,我们轻松实现了读取图片文件并存储至数据库的 *** 作过程。

3、从数据库中读取图片信息,该文件可命名为dispImage.cfm:

<!---

在此需特别注意enablecfoutputonly的压缩空白功能,如果不对该页面进行空白压缩,很可能会造成图片无法显示的问题

--->

<cfprocessingdirective

suppressWhiteSpace="yes">

<cfsetting

enablecfoutputonly="yes">

<!---

读取相应的图片信息

--->

<cfquery

datasource

=

"datasource">

select

image

from

imageTest

where

variable

here#

</cfquery>

<!---

设置浏览器输出的格式,我们将它设置为图片的JPG类型,用户可根据实际情况改动类型设置

--->

<cfcontent

type="image/jpg">

<!---

输出图片

--->

<cfoutput>#toString(imageTest.image)#</cfoutput>

</cfprocessingdirective>

<cfabort>

4、显示图片内容,调用dispImage.cfm页面:

<img

src

=

"dispImage.cfm?id=your

variable

here">

通过3、4两个步骤,我们也很容易的就完成了从数据库中读取图片信息并在页面显示的功能。

总结:实际上,除了图片文件可以如此处理,其它的文件也能通过类似方式进行处理,可将任意文件类型存储至数据库,只是文件大小的原因以及数据库存储读取速度性能限制,我们基本上还是不建议将文件存储至数据库,毕竟硬盘读取要快得多。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9775998.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存