vuejs如何上传图片?

2024-04-11

请,下面是我的 vue 组件脚本部分中的代码。

我的所有输入字段均正确,但图像和视频上传显示空值。

我试图解决这个问题但没有成功。

        playVideo(url) {
            let video = $('#video-preview').get(0);
            video.preload = 'metadata';
            // Load video in Safari / IE11
            if (url) {
                video.muted = false;
                video.playsInline = true;
                video.play();
            }
        },

        // Read a file input as a data URL.
        readDataUrl(input, callback) {
            if (input.files && input.files[0]) {
                let fileReader = new FileReader();
                fileReader.onload = function () {
                    callback(fileReader.result);
                };
                fileReader.readAsDataURL(input.files[0]);
            }
            else {
                callback(null);
            }
        },

        // Read a file input as an object url.
        readObjectUrl(input, callback) {
            if (input.files && input.files[0]) {
                let fileReader = new FileReader();
                fileReader.onload = function () {
                    let blob = new Blob([fileReader.result], {type: input.files[0].type});
                    let url = URL.createObjectURL(blob);
                    callback(url, blob);
                };
                fileReader.readAsArrayBuffer(input.files[0]);
            }
            else {
                callback(null);
            }

        },

    }

}

我到底想要实现的是上传图像和视频文件,在保存为 blob 之前预览它们。

上图显示了我的回复@samayo

图像和视频 blob 显示空值。


我认为在你的情况下你正在寻找这样的解决方案

例子:上传图像并在提交前预览

<template>
   <div>
      <img src:"previewImage" class="uploading-image" />
      <input type="file" accept="image/jpeg" @change=uploadImage>
   </div>
</template>

<script>
    export default {
        name:'imageUpload',
        data(){
            return{
               previewImage:null
            }
        },
        methods:{
            uploadImage(e){
                const image = e.target.files[0];
                const reader = new FileReader();
                reader.readAsDataURL(image);
                reader.onload = e =>{
                    this.previewImage = e.target.result;
                    console.log(this.previewImage);
                };
            }
        }
     }  // missing closure added
</script>



<style>
   .uploading-image{
     display:flex;
   }
 </style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vuejs如何上传图片? 的相关文章

随机推荐

  • 在 Mac OS X 中的 R 包 Cairo 中设置系统字体

    由于提出的问题在 R 的 expression 命令中使用 Unicode https stackoverflow com questions 19881553 using unicode inside rs expression comm
  • Gitlab 个人访问令牌 - 在哪里保存令牌以进行无缝克隆/拉取/推送

    谁能告诉我把 Gitlab PAT 个人访问令牌放在哪里 正在下载 git https gitlab com mycompany myproject git ref v0 0 1 https gitlab com mycompany myp
  • JSF Primefaces 选择菜单页面导航

    我正在使用 JSF 和 Primefaces 开发一个 Web 应用程序 我想显示以下菜单 并根据所选选项转到一页或另一页 XHTML代码
  • python静态方法没有获取类对象的最新值

    我有一堂Python课 class DeepLearningBot stopwords i am a to is do in of labelModelPath os path join dirName config labels mapp
  • 使用表格在单独的行中显示 PayPal 项目名称/描述

    我正在使用基本标准免费帐户和标准表单 点击 选项处理 PayPal Express Checkout 的简单表单 当传递项目名称或描述时 我知道您的长度限制为 144 个字符 但我希望将标题或描述中的信息放在不同的行中 以便在 PayPal
  • Rails 3.1.4 - 渲染:文本

    我正在将 Rails 2 应用程序更新到 Rails 3 发现使用 render text 的行为不再相同 results 是一个数组 在我的控制器中 render text gt ul results ul 它将整个数组作为字符串返回 而
  • 什么是自以为是的软件?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我经常看到人们说某些软件 非常固执己见 或者微软倾向于编写 不固执己见 的框架 这实际上意味着
  • 单元测试请求重试python

    如果端点在返回结果之前超时 我会尝试重试请求几次 这是代码 def retry request self params max retries 3 for i in xrange max retries try response reque
  • Visual Studio MVC 5 无需密码登录

    我使用 Visual Studio MVC 5 和处理登录等的帐户模板 我想以没有密码的用户身份登录 我试过这个 var user new ApplicationUser UserName model Email Email model E
  • 将 Java 与 Microsoft Visual Studio 2012 结合使用

    我最初是一名 C 程序员 Visual Studio 为我提供了出色的帮助 然而 我最近想扩展到 C 和 Java Visual Studio 支持 C 我现在已经有了一些使用经验 但它不支持 Java 有人可以给我一些建议 让我可以将 V
  • django 模型表单自定义字段

    我创建了一个包含一些类的模型 class Student models Model name models CharField max length 40 last name models CharFIeld max length 40 在
  • 使用适用于 Internet Explorer 的 Selenium Webdriver。测试不会运行

    我目前正在扩展我的测试 以涵盖使用 Selenium webdriver for IE IEDriverServer exe 的 Internet Explorer 我的问题是 当我使用 IE webdriver 执行测试时 当我运行测试时
  • 尝试更改 pandas 数据框中的单个值

    我看过很多类似标题的问题 但我仍然无法弄清楚 我想要做的就是将数据框中第五行第五列的值替换为值 100 我以为这就能解决问题 df loc cheerios rating 100 因为 Cheerios 是行 而 rating 是列 nam
  • 在django模板中按索引访问列表

    我正在尝试动态访问列表中的索引位置 allAppsList app id link 它不起作用 allAppsList 0 link worked 应该是语法问题 我在网上谷歌 但没有找到任何有用的东西 顺便提一句 如果在 Java 中使用
  • 如何获取子Widget的大小

    我有一个特殊的要求 允许标题小部件 通常包含静态内容出现在滚动视图的顶部 滚动视图应与标题小部件重叠 以便可以使用剪辑形状来产生效果 我通过使用堆栈视图来实现此效果 其中标题小部件作为堆栈中的第一项 滚动视图作为顶部元素 滚动视图包含一列
  • 如何扩展 Yii 框架类以及放置文件的位置

    我想扩展一些内置的框架类 但我有一些不清楚的地方 我认为我应该将我的类放在我的组件文件夹下 这是正确的位置吗 我应该将课程命名为Subfolder ClassName和像这样的文件ClassName php 我如何继承 默认包含路径不包含框
  • 无法通过 KAFKA api 连接到 EventHub

    通过 kafka 库连接事件中心时遇到异常 Caused by org apache kafka common protocol types SchemaException Error reading field sasl auth byt
  • 如何使用 JavaScript 获取缩放后的 SVG 元素的宽度?

    如果我有内联 SVG 包括已缩放的元素
  • 多个队列在一个通道中消耗

    我使用rabbitMq 来管理和使用队列 我有多个队列 它们的数量并不具体 我使用直接交换来发布消息 我怎样才能仅使用一个队列来消费每个队列的所有消息 基于routing key 渠道 此时我假设我有 5 个队列 我使用了 for 循环并为
  • vuejs如何上传图片?

    请 下面是我的 vue 组件脚本部分中的代码 我的所有输入字段均正确 但图像和视频上传显示空值 我试图解决这个问题但没有成功 playVideo url let video video preview get 0 video preload