我创建了一个用于从数据库获取图像的SP,如下所示:
ALTER PROCEDURE spGetItemImage @Id AS INT
AS
BEGIN
SET NOCOUNT ON;
SELECT ItemImage1,ItemID,CompanyID
FROM ItemImage
WHERE ItemImage.ItemID = @Id
END
ItemImage1作为字节[250]被接收。我有一个div用于从数据库<div id="imgUpload">
接收图像。我有一个Json用于在div中显示图像。这里以字节代码的形式接收图像。所以它无法在div上显示任何图像。到目前为止我做的是:
document.getElementById("imgUpload").src = "data:image/png;base64," + (data.d.ItemImage1);
答案 0 :(得分:0)
我认为您应该将字节数组转换为图像
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
然后使用
将该图像保存到特定位置图图像
像Server.MapPath("~\\UploadImages")
一样
并在Div中显示
反之亦然您可以尝试: 将Image转换为byte [] array
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
答案 1 :(得分:0)
您需要创建类似
的功能public function DisplaySavedDBImage()
{
//get Image from DB (as per your code base... this is just an example)
$model=$this->loadModel($_POST['Pic']['id']);
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Transfer-Encoding: binary');
header('Content-length: '.$model->file_size);
header('Content-Type: gif');
header('Content-Disposition: attachment; filename='.$model->file_name);
echo $model1->file_name;
} and <?php echo CHtml::link('image',array('displaySavedDBImage','id'=>$model->primaryKey)); ?>