php如何将webservice返回的二进制流保存到本地图片

php如何将webservice返回的二进制流保存到本地图片,第1张

前几天 刚弄的 app提交图片的接口,二进制那种比较麻烦,

让app那端也用 浏览器那种方式提交过来,php正常接收就ok

然后返回地址、图片属性,(这边不用保存到本地吧,app那端应该是保存到本地),多个的话循环一下也行,也不慢

最后app把多个图片以及表情、内容什么的提交过来 ,然后保存到数据库 应该是 ok的 ,如果 单独保存图片 正则匹配一下!!!

public static byte[] ImageDatabytes(string FilePath)

{

if(!File.Exists(FilePath))

return null

Bitmap myBitmap = new Bitmap(Image.FromFile(FilePath))

using (MemoryStream curImageStream = new MemoryStream())

{

myBitmap.Save(curImageStream, System.Drawing.Imaging.ImageFormat.Png)

curImageStream.Flush()

byte[] bmpBytes = curImageStream.ToArray()

//如果转字符串的话

//string BmpStr = Convert.ToBase64String(bmpBytes)

return bmpBytes

}

}

用上面的方法将图片转换成二进制,再存进数据库。

async downloadFile() {

const cname = this.loginUser.username

const params = await this.getParams()//自己写的获取参数方法

axios({

url: ${baseURL}/download ,

method: 'post',

data: params,

responseType: 'blob',

headers: {

cid: this.customerCode

}

}).then(res =>{

const fileName = wifi预警_${cname}.csv

var blob = res.data

if ('msSaveOrOpenBlob' in navigator) {

window.navigator.msSaveOrOpenBlob(blob, fileName) //IE导出

} else {

let url = window.URL.createObjectURL(new Blob([blob]))

let link = document.createElement('a')

link.style.display = 'none'

link.href = url

link.setAttribute('download', fileName)

link.click()

}

})

},


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存