上传图片vue模板

在vue框架中:
https://mp.weixin.qq.com/s/o_D_9Q95P9dFyr6PtYxDxw
在mako框架中:

<%inherit file="/base.html"/>

<%block name="content">
<div id="app">
    <input type="file" multiple id="imgLocal" accept="image/*" @change="fileChange"/>
    <img src="" height="200" alt="Image preview..." id="img1">
</div>
</%block>
<script>
    Vue.prototype.$http = axios;
    Vue.use(iview);
    new Vue({
        el: '#app',
        data() {
            return {}
        },
        methods: {
            fileChange() {
                let fileList = document.querySelector('#imgLocal').files
                // console.log(fileList) // files
                let file = fileList[0]
                // --------------使用FileReader图片预览--------------
                const fileReader = new FileReader()
                fileReader.readAsDataURL(file) //读取图片
                fileReader.addEventListener('load', function () {
                    // 读取完成
                    let res = fileReader.result
                    // res是base64格式的图片
                    // console.log(res)
                    // 将DOM上img的src设为读取的结果即可实现预览功能。
                    document.getElementById("img1").src = res
                })
                // --------------------------------------------------
                const formDate = new FormData()
                // formDate使用append方法时第一个参数是后端取值用的
                formDate.append('file', file, file.name)
                let config = {
                    headers: {
                        'Content-Type': 'multipart/form-data'
                    }
                }
                axios.post('${SITE_URL}uploads/transfer/', formDate, config).then(res => {
                    if (res.data.result) {
                        alert('上传成功,路径为:' + res.data.data.Path)
                    } else {
                        this.$Message.error(res.data.data.message)
                    }
                })
            },
        },
        mounted() {
        
        }
    })
</script>
<style></style>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容