<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. .NET分布式Orleans - 2 - Grain的通信原理与定义

    Grain 是 Orleans 框架中的基本单元,代表了应用程序中的一个实体或者一个计算单元. 每个Silo都是一个独立的进程,Silo负责加载.管理和执行Grain实例,并处理来自客户端的请求以及与 ...

  2. [Java]细节与使用经验

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18032072 出自[进步*于辰的博客] 纯文字阐述,内 ...

  3. 分析性能差的sql

    --EXECUTIONS 所有子游标的执行这条语句次数 --DISK_READS 所有子游标运行这条语句导致的读磁盘次数 --BUFFER_GETS 所有子游标运行这条语句导致的读内存次数 --Hit ...

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

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

  5. jenkens2权威指南

    第1章 Jenkins简介 Jenkins 2是什么 JobConfigHistory:这个插件可以追溯XML配置的历史版本信息, 并且允许你查看每次变更的内容. JenkinsFile Jenkin ...

  6. MySQL插入更新删除数据

    数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...

  7. 成长计划知识赋能 | 第九期:渐进式深入理解OpenHarmony系统

      成长计划知识赋能直播第九期如约而至,面向OpenHarmony初中级开发者,解析OpenHarmony系统架构和驱动框架,助力开发者快速上手OpenHarmony系统开发. 详情见海报内容,资深软 ...

  8. Demo Day直播 | 成长计划解决方案学生挑战赛一等奖即将揭晓!

      OpenAtom OpenHarmony开源开发者成长计划 解决方案学生挑战赛 Demo Day来袭! 每一支队伍 心怀梦想,攻坚克难 迸发出照亮世界的火花 用技术推动世界进步 与你一起,共创未来 ...

  9. [IOI2000]邮局 题解

    简要题意 线段上有 \(V\) 个村庄,现在要建 \(P\) 个邮局,使每个村庄到最近的邮局的距离之和最小. 50分做法 设\(dp[i][j]\) 表示第一个村庄到第 \(i\) 个村庄,建了 \( ...

  10. .NET Emit 入门教程:第六部分:IL 指令:6:详解 ILGenerator 指令方法:方法调用指令

    前言: 经过前面几篇的学习,我们了解到指令的大概分类,如: 参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令. 参数存储指令,其指令以 St 开头,将栈中的数据,存储到 ...