vc mfc中怎么通过按钮 “上传图片”把本机上的图片读入SQL数据库

vc mfc中怎么通过按钮 “上传图片”把本机上的图片读入SQL数据库,第1张

图片就是文件嘛,把文件数据全部读入到内存然后插入到sql数据库中就可以了,但不建议这样做,因为图片数据比较大,存入数据库会很慢,检索也会很慢,建议只存入图片的路径,比如你要存入的图片为c:\\test.bmp,那么你存入数据的信息就为c:\\test.bmp,当有地方要使用该图片时,只需取出c:\\test.bmp这个路径就可以 *** 作该图片了。

CFileFind find

CString Path = lpszPath

CString lpsz = Path +L"\\"

Path = Path +L"\\*.*"

BOOL IsFind = find.FindFile(Path)

while(IsFind )

{

IsFind=find.FindNextFile()

//如果是"."则不扫描

if(find.IsDots())

continue

//是目录,继续扫描此目录

else if(find.IsDirectory())

{

CString strPath = lpszPath

strPath = strPath + L"\\" + find.GetFileName()

ScanDiskFile(strPath)

}

//文件

else

{

//获得文件的路径

m_strFile = find.GetFileName()

CString extend = m_strFile.Right(m_strFile.GetLength() - m_strFile.ReverseFind('.') - 1)//取得扩展名

if (extend == m_ext_one | extend == m_ext_two)//m_ext_now为你要查找的文件扩展名

{

m_strArray.Add(lpsz + m_strFile)

}

}

}

find.Close()

m_ext_one、m_ext_two用于指定需要搜索的文件后缀名

MFC使用的是基于GDI的封装,在图片中容易留下锯齿等等。我试过,在有些图片下相当失真。建议使用Gdiplus。首先

#include <Gdiplus.h>

#pragma comment(lib, "gdiplus.lib")

using namespace Gdiplus

然后是初始化:

ULONG_PTR gdiplusToken

GdiplusStartupInput gdiplusStartupInput

GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL)

退出程序用

GdiplusShutdown(gdiplusToken)

然后,加载图片就简单了,直接Image img(TEXT("C:\\a.bmp")),并且效果相当好


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

原文地址: http://outofmemory.cn/sjk/6426176.html

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

发表评论

登录后才能评论

评论列表(0条)

保存