ajax发送图片flask接收

前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>显示并发送图片</title>
</head>
<body>
<input type="file" id="file-ip-1" accept="image/*" onchange="showPreview(event);">
<button>上传</button>
<div id="result">

</div>
<div class="preview">
    <img id="file-ip-1-preview">
</div>
<script type="text/javascript">
    let result
    let input = document.getElementsByTagName('input')[0]
    const btns = document.querySelectorAll("button")
    const formData = new FormData()

    input.oninput = (e) => {
        let file = e.target.files[0]
        var src = URL.createObjectURL(file)
        var preview = document.getElementById("file-ip-1-preview")
        preview.src = src
        preview.style.display = "block"
        formData.append("file", file)
    }

    btns[0].onclick = function () {
        let x = new XMLHttpRequest()
        x.open("POST", "/api/image1")
        x.send(formData)
    }
</script>
</body>
</html>

后端代码

@app.route("/image1", methods=['POST'])
def upload_image1():
    a = request.files["file"]
    print(a.filename)
    print(type(a.read()))
    return "hello world"


if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=5000)

注意nginx配制,否则有跨域问题

posted on   荷楠仁  阅读(35)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

统计

点击右上角即可分享
微信分享提示