vue 上传图片路径不对

在网上找了个图片上传的示例,然后拉到vue2.0的项目中图片加载不出来,src=0,这是为什么
<template>
<div>

        <div style="margin-bottom: 20px">
            <h2>选择图片</h2>
            <a id='addPic' href="" v-on:click="addPic">添加图片 </a>
            <input type="file" @change="onFileChange" multiple style="display: none;">
        </div>
        <div v-if="images.length >0">
           <ul>
              <li v-for="(key,image) in images">
                
                 <img :src="image" @click='delImage(key)' />
                 <a href="#" style="position: absolute;" @click='delImage(key)'>
                    <span class="glyphicon glyphicon-remove"></span>
                </a>
              </li>
           </ul>
            <button @click="removeImage">移除全部图片</button>
            <button @click='uploadImage' >上传</button>
        </div>
    

</div>
</template>

<script type="es6">
import { Cell } from 'mint-ui';
import $ from 'jquery'
export default{

 data(){
  return {
    images: [],
  }

},
methods: {

        addPic(e){
            e.preventDefault();
            $('input[type=file]').trigger('click');
            return false;
        },
        onFileChange(e) {
            var files = e.target.files || e.dataTransfer.files;
            if (!files.length)return; 
            this.createImage(files);
        },
        createImage(file) {
            if(typeof FileReader==='undefined'){
                alert('您的浏览器不支持图片上传,请升级您的浏览器');
                return false;
            }
            var image = new Image();         
            var vm = this;
            var leng=file.length;
            for(var i=0;i<leng;i++){
                var reader = new FileReader();
                reader.readAsDataURL(file[i]); 
                reader.onload =function(e){
                vm.images.push(e.target.result);                                    
                };                 
            }                        
        },
        delImage:function(index){
            this.images.shift(index);
        },
        removeImage: function(e) {
            this.images = [];
        },
        uploadImage: function() {
            console.log(this.images);
            return false;
            var obj = {};
            obj.images=this.images
            $.ajax({
                type: 'post',
                url: "upload.php",
                data: obj,
                dataType: "json",
                success: function(data) {
                    if(data.status){
                        alert(data.msg);
                        return false;
                    }else{
                        alert(data.msg);
                        return false;
                    }
                }
            });
        }
    }

}
</script>
<style scoped="scoped">
p {

display: block;
-webkit-margin-before: 0em;
-webkit-margin-after: 0em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;

}
body {

background-color: #C4C4C4;

}
.mint-cell img {

vertical-align: middle;
margin-right: 10px;

}
</style>

阅读 3.8k
1 个回答

因为你没有上传服务器,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题