VB 把D:1.bmp 图片转成二进制数据流放入 Form1.Text1.Text

VB 把D:1.bmp 图片转成二进制数据流放入 Form1.Text1.Text,第1张

如图:

文件:2562bmp

1、读 BMP 文件,并将字节内容显示在窗体 Text1 中


   '按二进制格式读取BMP文件
    Dim FileNum As Long
    Dim FileName As String
   
    Dim tmpStr As Byte
'    Dim i As Integer
    Dim readStr As String
   
    FileName = "D:\vbtemp\2562bmp"
   
    FileNum = FreeFile()
    Open FileName For Binary As FileNum
   
    readStr = ""
    Text1Text = ""
 '   i = 1
    Do While Not EOF(FileNum)
       Get #FileNum, , tmpStr
      
       If Len(Hex(tmpStr)) = 1 Then
          readStr = readStr & "0" & Hex(tmpStr)
       Else
          readStr = readStr & Hex(tmpStr)
       End If
  '     i = i + 1
    Loop
    Text1 = readStr
    Close FileNum

2、将该窗体中 Text1中的内容保存为另一个 BMP 文件

'把Text1 中的内容按二进制格式写入 BMP 文件
   
    Dim FileNum As Long
    Dim FileName As String
   
    Dim tmpStr As Byte
    Dim i As Integer
   
    Dim readStr As String
   
    FileName = "D:\vbtemp\256-2bmp"
   
    FileNum = FreeFile()
    Open FileName For Binary As FileNum
   
    readStr = ""
   
    For i = 1 To Len(Text1) Step 2
        readStr = "&H" & Mid(Text1, i, 2)
        tmpStr = Val(readStr)
       
        Put #FileNum, , tmpStr
    Next i
   
    Close FileNum

3、这里需要注意的是:bmp文件不能太大,因为两段程序都是循环读写文件,如果bmp文件的字节太大,直接影响读写的效果,而且 TextBox 控件中存放字符串的长度也有限制。我提供的源图2562bmp 文件大小为4K

数据库中存储为BLOB类型,如何取出转换

将blog二进制对象,重新转换为文件流绑定到对象上,就可以显示了。

如何将存储Aesso数据库

通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存的上传路径到数据库:
string uppath="";用于保存上传路径
获取上传的文件名
string fileFullname = thisFileUpload1FileName;
获取上传的时间,以时间作为的名字可以防止重名
string dataName = DateTimeNowToString("yyyyMMddhhmmss");
获取的文件名(不含扩展名)
string fileName = fileFullnameSubstring(fileFullnameLastIndexOf("\\") + 1);
获取扩展名
string type = fileFullnameSubstring(fileFullnameLastIndexOf("") + 1);
判断是否为要求的格式
if (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF")
{
将上传到指定路径的文件夹
thisFileUpload1SaveAs(ServerMapPath("~/upload") + "\\" + dataName + "" + type);
将路径保存到变量,将该变量的值保存到数据库相应字段即可
uppath = "~/upload/" + dataName + "" + type;
}
二、将以二进制数据流直接保存到数据库:
引用如下命名空间:
using SystemDrawing;
using SystemIO;
using SystemDataSqlClient;
设计数据库时,表中相应的字段类型为iamge
保存:
路径
string strPath = thisFileUpload1PostedFileFileNameToString ();
读取
FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAessRead);
BinaryReader br = new BinaryReader(fs);
byte[] photo = brReadBytes((int)fsLength);
brClose();
fsClose();
存入
SqlConnection myConn = new SqlConnection("Data Source=;Initial Catalog=stumanage;User ID=sa;Password=123");
string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )"; *** 作数据库语句根据需要修改
SqlCommand myComm = new SqlCommand(strComm, myConn);
myCommParametersAdd("@photoBinary", SqlDbTypeBinary, photoLength);
myCommParameters["@photoBinary"]Value = photo;
myConnOpen();
if (myCommExecuteNonQuery() > 0)
{
thisLabel1Text = "ok";
}
myConnClose();
读取:
连接数据库字符串省略
myconOpen();
SqlCommand mand = new
SqlCommand("select stuimage from stuInfo where stuid=107", mycon);查询语句根据需要修改
byte[] image = (byte[])mandExecuteScalar ();
指定从数据库读取出来的的保存路径及名字
string strPath = "~/Upload/zhangsanJPG";
string strPhotoPath = ServerMapPath(strPath);
按上面的路径与名字保存文件
BinaryWriter bw = new BinaryWriter(FileOpen(strPhotoPath,FileModeOpenOrCreate));
bwWrite(image);
bwClose();
显示
thisImage1ImageUrl = strPath;
采用俩种方式可以根据实际需求灵活选择。

SQL数据库中的地址如何存储的

这个容易嘛~!
InputStream in=new FileInputStream("地址");
Connection conn=自己去连接
PreparedStatement ps=connprepareStatement("插入语句");
pssetBinaryStream(iint number,in,inavailable());number为插入的第几个,且类型为image
或者是binary或者是Blob类型的数据
psexecuteUpdate();

如何取出sql数据库中的image类型的数据

Image类型 就是string类型
用基本的sql查询就可以正常读取
但是要将该呈现
可以通过C 、Java等工具获得

如何想Mysql数据库中存储

两种,一种是将转化成二进制数据流存入数据库中。一种是保存的路径,然后前台读取路径去调用。相关的代码百度一下应该会有,第二种方法实现上比较简单,就是存储路径,然后根据路径读取对应的显示出来。第一种就比较麻烦,要先把转化成二进制数据,读取时就是从数据库读取对应数据再转化成显示出来。

如何在数据库中存储路径

你是用C/S模式还是B/S模式
C/S的话以二进制的方式存比较好。
B/S的话一般存路径。
路径是从程序的所在目录开始的。

如何在数据库中存储文件

解决方法一般有两种:
一种是将保存的路径存储到数据库;
另一种是将以二进制数据流的形式直接写入数据库字段中。

数据库中用什么类型字符

用varchar() ,存的是的路径地址,而不是本身。

数据库中blob类型指什么类型

你好:
BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器。
在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。
BLOB是一个大文件,典型的BLOB是一张或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。
但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是应用程序处理BLOB的典型例子。

BMP本来就是二进制的形式保存的,你就以二进制的的形式读出就可以了,即无类型文件读取,
assignfile(F,'路径');
reset(F,1);//每次只读一个字节
num:=blockread(F,Buf,1);//读取的字节存入Buf,其他你自己处理了
closefile(F);

这以前写的一个上传下载管理系统中的资料修改功能,里面有涉及到用户的修改,希望对你有用,注意变量file fileCotentType fileFileName package lx;import javaioFile;import javaioFileInputStream;
import javaioFileOutputStream;import javaxservlet>将二进制图像转换为值的方法有很多,具体可以根据需要来决定。一般来说,将二进制图像转换为值的具体步骤如下:
1首先将二进制图像转换为RGB格式。
2其次,使用像素值将图像转换为灰度图像。
3然后,使用图象处理技术,将灰度图像进行二值化并识别出特定目标,以获取其像素值。
4最后,使用相应的计算方法(如均值,方差,中位数,四分位数等)计算出目标的像素值,以获取图像的值。

你可以把它序列化,如下
using SystemIO;
using SystemRuntimeSerializationFormattersBinary;
private void Form1_Load(object sender, EventArgs e)
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
Bitmap bit = pictureBox1Image as Bitmap;
MemoryStream memoryStream = new MemoryStream();
binaryFormatterSerialize(memoryStream, bit);//序列化
byte[] byteArr = memoryStreamToArray();//这就是你要的
Bitmap bit = binaryFormatterDeserialize(memoryStream);//反序列化
memoryStreamDispose(); }

js是做不了文件和二进制的互相转换的,而且按照你的要求是存取数据库,js做不到的。
用别的方式(Java或者C#等等)去连接数据库,把文件作为blob对象(二进制大对象)类型存入数据库。Javascript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。它已经由欧洲电脑制造商协会通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、FireFox等)支持。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来 *** 控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。JavaScript虽与Java有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。


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

原文地址:https://www.54852.com/yw/13305303.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-31
下一篇2025-08-31

发表评论

登录后才能评论

评论列表(0条)

    保存