❶ 从sql数据库里显示或者输出二进制图片
不需要原图或仿片,实际上你可以把它理解成文件流。所以说你只需要读取到数据库的二进制到然后解森吵析还原成原图此团侍片就可以了。像你这种情况应该是还原的方法不对或者是二进制有问题。
这是我的一段你参照下看可以不:
byte[] MyData = new byte[0];
if (MyData != null && !Row.GetString("CstSignature").IsNullOrEmpty())
{
MyData = (byte[])Row["CstSignature"];//读取第一个图片的位流
int ArraySize = MyData.GetUpperBound(0);//获得数据库中存储的位流数组的维度上限,用作读取流的上限
FileStream fs = new FileStream(@"c:/00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close(); //-- 写入到c:/00.jpg。
(this.FindControl("picPhoto") as StarPictureBox).Image = Image.FromFile("c:/00.jpg");
}
❷ java钖憁ysql鏁版嵁搴扑笂浼犲浘鐗囷纸杞鍖栨垚浜岃繘鍒舵祦锛
浠巌o鏂归溃钥冭槛,涓嶅缓璁浣犲湪mysql瀛桦偍锲剧墖
鍙浠ュ湪mysql涓淇濆瓨锲剧墖璺寰,铹跺悗璇诲嚭璺寰勫啀璋幂敤锲剧墖
浠ュ悗涔熷埆鍐栾繖镙风殑浠g爜...
❸ c#鍒欎箞銮峰缑灏嗗浘鐗囱浆鎴恜ost涓娄紶镄刴ultipart/form-data缂栫爜浜岃繘鍒舵祦鏁版嵁
using (HttpClient client = new HttpClient())
{
using (MultipartFormDataContent content = new MultipartFormDataContent())
{
client.BaseAddress = new Uri(URL);
ByteArrayContent arrayContent = new ByteArrayContent(File.ReadAllBytes(filePath));
arrayContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = fileName
};
content.Add(arrayContent);
msg = client.PostAsync("api/file/UploadImage/", content).Result;
}
}