<template>
  <div class="">
    <!-- 选择后预览 -->
    <img v-if="imgOneUrl" :src="imgOneUrl" alt="">
    <!-- 默认图片 -->
    <img v-else src="@/assets/images/upImg-1.png" alt="">
    <input type="file" name="file[]" class="file" accept="image/*" @change="upImgOne($event)">
  </div>
</template>
<script>
export default {
    data(){
      return{
        imgOne:'',
        imgOneUrl:'',
      }
    },
    methods:{
        //选取并解读照片信息
        upImgOne(e) {
            this.imgOne = e.target.files[0];
            let reads = new FileReader();
            reads.readAsDataURL(this.imgOne);
            reads.onload = () => {
                this.imgOneUrl = reads.result;
                this.upLodeImg()        //多次上传文件多次调用这个方法,需要传参0,1,2
            }
        },
        upLodeImg(){
            var formData = new FormData() // 声明一个FormData对象
            var formData = new window.FormData() 
            formData.append('file', document.querySelector('input[type=file]').files[0])
            //formData.append('file', document.querySelectorAll('input[type=file]')[index].files[0])   //每次只上传单个文件,
            $.ajax({  
                url: config.API + '/api/user/upload/xxx' ,  
                type: 'POST',  
                data: formData,  
                async: false,  
                cache: false,  
                contentType: false,  
                processData: false,  
                success: function (resp) {  
                    console.log(resp);
                },  
                error: function (error) {  
                    alert(error);  
                }  
            });
        },
    },
    mounted:function(){} 
}
</script>
<style scoped>
</style>
upLodeImg(index){
            var formData = new FormData() // 声明一个FormData对象
            var formData = new window.FormData() 
            formData.append('file', document.querySelectorAll('input[type=file]')[index].files[0])
            formData.append('token', this.token)
            // let data = {
            //     token:this.token,
            //     file:formData,
            //     methodPost:true,
            // }
            let that = this
            let _that = this
            let _this = this
            let _thows = this
            $.ajax({  
                url: config.API + '/api/user/upload/one' ,  
                type: 'POST',  
                data: formData,  
                async: false,  
                cache: false,  
                contentType: false,  
                processData: false,  
                success: function (resp) {  
                    console.log(resp);
                    let data = resp.data
                    if(index==0){
                        _thows.firImg = data.url
                    }else if(index==1){
                        that.secImg = data.url
                    }else if(index==2){
                        _that.thrImg = data.url
                    }else{
                        _this.thiImg = data.url
                    }
                },  
                error: function (error) {  
                    alert(error);  
                }  
            });
        },

vue通过input选取图片,jq的ajax向服务器上传img的更多相关文章

  1. jquery 通过ajax FormData 对象上传附件

    之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下 html: <div>   流程图: <input id=& ...

  2. 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

    现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...

  3. JS案例之4——Ajax多图上传

    近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息, ...

  4. MVC 5.0(or5.0↓) Ajax.BeginForm 异步上传附件问题,答案是不能的!

    MVC 5.0(or5.0↓)  Ajax.BeginForm 异步上传附件问题,答案是不能的! (请注意我这里说的异步!) 来看一下下面这段一步提交file的代码 //前台 .cshtml 文件 & ...

  5. ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传

    先上几张图更直观展示一下要实现的功能.本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ...

  6. 文件的上传(表单上传和ajax文件异步上传)

    项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...

  7. ajax提交表单、ajax实现文件上传

    ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用 ...

  8. Ajax 与文件上传

    一 Ajax篇 1 ajax简介(Asynchronous Javascript And XML) 异步,Js,XML,即使用Javascript语言与服务器进行异步交互,传输的数据为xml(可扩展标 ...

  9. PHP+Ajax实现文件上传功能

    前端显示界面: 1 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. 基于 Django的Ajax实现 文件上传

    ---------------------------------------------------------------遇到困难的时候,勇敢一点,找同学朋友帮忙,找导师求助. Ajax Ajax ...

随机推荐

  1. vscode中Vetur插件关闭组件自动导入路径

    vscode配置项中加入 "vetur.completion.autoImport": false, 或者,将图中4处勾去掉即可

  2. 关于Actor Component的思考--学习斯坦佛UE+C++

    跟着B站的视频学习,感觉自己的头很混乱.所以浅浅总结一下创建Actor Component之后其的作用和相关操作. Actor Component 首先Component为一个组件,源码就是一个类的声 ...

  3. 学生成绩管理--C语言

    # 学生成绩管理系统 效果 1.菜单选项 void welcome()//菜单 { printf("欢迎使用学生管理系统\n"); printf(" 1.增加学生信息\n ...

  4. OpenHarmony创新赛人气投票活动,最佳人气作品由你来定!

      12月1日至12月15日 十大入围作品线上投票激战正酣 最佳人气作品,由你来定!   投票链接:https://forums.openharmony.cn/forum.php?mod=viewth ...

  5. Go 语言学习:了解 const 关键字及常量声明

    如果一个变量应该有一个固定的.不能改变的值,你可以使用const关键字. const关键字将变量声明为"常量",这意味着它是不可改变和只读的. 语法 const CONSTNAME ...

  6. 第十八篇:Django进级

    一.Django工程创建 二.Django 的 CBV和FBV 三.模板语言循环字典 四.Django基于正则表达式的URL 五.Django对应的路由名称 六.Django路由分发 七.Django ...

  7. 抓包整理————tcp 三次握手性能优化[十]

    前言 tcp 三次握手性能优化. 正文 服务器三次握手流程示例: 下面就是3次握手的过程: 知道这个有什么用呢? 我举一个我使用到的例子哈. 比如有很多 tcp 连接到一台机器上机器上,那么tcp_m ...

  8. html 渲染原理

    渲染 从上面这个图上,我们可以看到,浏览器渲染过程如下: 解析HTML,生成DOM树,解析CSS,生成CSSOM树 将DOM树和CSSOM树结合,生成渲染树(Render Tree) Layout(回 ...

  9. Flask、Tornado、Nginx搭建Https服务

    其实Flask可以直接用tornado部署就行: # coding=utf-8 from tornado.wsgi import WSGIContainer from tornado.httpserv ...

  10. JVM简明笔记2:运行时数据区

    1 内存布局总体结构 根据 JVM 规范,JVM 内存共分为虚拟机栈(Virtual Machine Stacks).堆(Heap).方法区(Method Area).程序计数器(Program Co ...