<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. C# OpenCvSharp 轮廓检测

    效果 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...

  2. GFLV2:边界框不确定性的进一步融合,提点神器 | CVPR 2021

      GFLV2基于GFLV1的bbox分布进行改进,将分布的统计信息融入到定位质量估计中,整体思想十分创新和完备,从实验结果来看,效果还是挺不错的 来源:晓飞的算法工程笔记 公众号 论文: Gener ...

  3. Java实现哈希表

    2.哈希表 2.1.哈希冲突 冲突位置,把数据构建为链表结构. 装载因子=哈希表中的元素个数 / (散列表)哈希表的长度 装载因子越大,说明链表越长,性能就越低,那么哈希表就需要扩容,把数据迁移到新的 ...

  4. jQuery AJAX 常见属性

    1 jQuery.ajax(...) 2 部分参数: 3 url:请求地址 4 type:请求方式,GET.POST(1.9.0之后用method) 5 headers:请求头 6 data:要发送的 ...

  5. #概率,dp#JZOJ 4212 我想大声告诉你

    题目 小\(x\)和他的\(n-1\)个朋友,进行\(k\)轮游戏,每轮等概率选出一个人作为获胜者并退出游戏, 其余在游戏中的人有\(p\)的概率被迫退出游戏,问对于任意的轮数\(k\),使小\(x\ ...

  6. #排列组合#C 模拟比赛

    分析 由于每个选手的得分独立,考虑按照选手的最高得分降序排序 如果当前枚举到选手\(i\),首先记录\(o_i\)表示在选手\(i\)之前最小得分不低于选手\(i\)的最高得分 (必选,等于必选当且仅 ...

  7. Jetty的ssl模块

    启用ssl模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=ssl 命令的输出,如下: INFO : ssl initialized i ...

  8. OpenHarmony Docker移植实践

     Docker简介 从操作系统诞生之日起,虚拟化技术就不断的演进与发展,结合目前云原生的发展态势,容器无疑是其中的重要一环. Docker是一个开源的软件项目,可以在Linux操作系统上提供一层额外的 ...

  9. Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--可视化编辑pdf

    Pdfium.Net.Free 支持 .NETFramework 4.0 .NETFramework 4.5 .NETStandard 2.0 .Net8.0 可以和PdfiumViewer.Free ...

  10. 【FAQ】调用应用内支付SDK时报错,如何用tag对问题进行排查和分析

    华为应用内支付服务(In-App Purchases,IAP)为开发者提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即可实现应用 ...