ajax method to retrieve images as a blob

go 服务端:

就是先把这个图片读出来 然后返回二进制的数据

Go 复制代码
	byteFile, err := ioutil.ReadFile("."  + "/processed/" + uuidStr+"processed.png")
	if err != nil {
		fmt.Println(err)
	}

	c.Header("Content-Disposition", "attachment; filename=file-name.txt")
	c.Data(http.StatusOK, "application/octet-stream", byteFile)

js 前端获取图片:

javascript 复制代码
function doSomething() {
            //	var videoData = "";
            var fileObj = document.getElementById("fileimage").files[0]; // js 获取文件对象
            var formData = new FormData();
            formData.append("file", fileObj); //上传一个files对象
            // formData.append("参数", "参数1"); //若需要上传的多个参数
            // formData.append("参数", "参数2");
            var url = "http://127.0.0.1:8000/upload/histogram";
            $.ajax({
                url: url,
                // dataType:"text",
                // dataType: "json",
                type: "post",
                data: formData,
                processData : false, //不处理发送的数据
                contentType: false, //不设置Content-Type请求头
                xhrFields:{
                    responseType: 'blob'
                },
                success: function(res) {
                    console.log(111)
                    var img = document.getElementById('img-from-local-storage');
                    var url = window.URL || window.webkitURL;
                    img.src = url.createObjectURL(res);
javascript 复制代码
    <img id="img-from-local-storage" />

参考文章:

Sending image files from back-end to front-end - JavaScript - The freeCodeCamp Forum

相关推荐
kite01212 小时前
浏览器工作原理06 [#]渲染流程(下):HTML、CSS和JavaScript是如何变成页面的
javascript·css·html
крон2 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机
coding随想5 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘5 小时前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇5 小时前
一个小小的柯里化函数
前端
灵感__idea5 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇5 小时前
前端双Token机制无感刷新
前端
小小小小宇5 小时前
重提React闭包陷阱
前端
小小小小宇5 小时前
前端XSS和CSRF以及CSP
前端
UFIT5 小时前
NoSQL之redis哨兵
java·前端·算法