使用 JavaScript 上传后无法获取文件大小

萨提亚

我需要验证一个具有所需宽度、高度的文件字段,如果文件没有使用 JavaScript 上传,但它不会像这样发生。这是我的代码:

<input type="file" name="copImage" id="copImage" class="form-control"  value="" onchange="setBackgroundImage(event);">
function setBackgroundImage(e){
     var url = URL.createObjectURL(e.target.files[0]);
    bg = new Image();
    bg.src = url;
    bg.onload = function () {
        bgLoaded = true;
        backImageHeight=this.height;
        backImageWidth=this.width;
    };
    console.log('size bg',backImageHeight,backImageWidth);
  }

在这里我无法获取文件heightwidth. 我还要检查文件是否没有上传。

brk

将日志语句放入onload函数内。这是因为您试图访问其范围之外的变量,否则在 onload 函数之外定义这些变量

bg.onload = function() {
    var bgLoaded = true,
    backImageHeight = this.height,
    backImageWidth = this.width;
    console.log('size bg',backImageHeight,backImageWidth);
  };

演示

假设我有一个按钮并且没有选择文件,如果我点击文件警报应该说选择文件。

似乎您不能使用onchange事件处理程序来做到这一点,因为如果未加载文件。什么都没有改变,所以函数不会触发。在这种情况下,您可以创建一个变量并在文件上传时更新其状态。单击按钮检查变量状态

var isFileLoaded = false;
function setBackgroundImage(fileValue) {
  var url = URL.createObjectURL(fileValue.files[0]);
  bg = new Image();
  if (fileValue.value !== '') {
    bg.src = url;
    bg.onload = function() {
      bgLoaded = true;
      isFileLoaded = true;
      backImageHeight = this.height;
      backImageWidth = this.width;
      console.log('size bg', backImageHeight, backImageWidth);
    };
  }
}

function buttonClick() {
  if (isFileLoaded) {

  } else {
    alert('No file selected')
  }

}

演示 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在使用javascript上传之前获取文件大小

来自分类Dev

在使用javascript上传之前获取文件大小

来自分类Dev

使用ajax上传后获取图像大小

来自分类Dev

无法使用JavaScript将文件上传到S3

来自分类Dev

使用Javascript上传多个文件

来自分类Dev

使用javascript删除上传的文件

来自分类Dev

使用javascript删除上传的文件

来自分类Dev

使用javascript从文件夹获取图像大小

来自分类Dev

如何使用Javascript获取网页上图像的文件大小?

来自分类Dev

上传文件前使用ajaxSubmit时如何获取文件大小

来自分类Dev

使用Firebase存储上传后如何获取调整后大小的downloadUrl(Web SDK +调整图像大小)

来自分类Dev

使用JavaScript读取文件而不上传文件

来自分类Dev

无法使用AJAX将PHP变量获取到JavaScript文件

来自分类Dev

无法使用AJAX将PHP变量获取到JavaScript文件

来自分类Dev

上传文件后,如何在Django中使用AJAX更新表(与JavaScript链接)?

来自分类Dev

使用javascript上传文件后,excel CSV中的按钮和单选按钮

来自分类Dev

使用Python ftplib上传后无法删除文件

来自分类Dev

检查使用JavaScript上传的文件数的长度

来自分类Dev

如何使用JavaScript停止文件上传事件

来自分类Dev

使用PHP / JavaScript上传大文件?

来自分类Dev

使用javascript上传文件页面验证

来自分类Dev

如何使用javascript隐藏上传文件元素?

来自分类Dev

临时上传文件以使用它 - javascript

来自分类Dev

使用JavaScript上传文件-如何获取更频繁的进行中事件

来自分类Dev

如何使用javascript获取网页的长度/大小

来自分类Dev

使用JavaScript获取资源的传输大小

来自分类Dev

使用javascript获取内容框的大小

来自分类Dev

无法将音频文件上传到Cloudinary API(使用javascript)

来自分类Dev

使用javascript上传图像

Related 相关文章

  1. 1

    在使用javascript上传之前获取文件大小

  2. 2

    在使用javascript上传之前获取文件大小

  3. 3

    使用ajax上传后获取图像大小

  4. 4

    无法使用JavaScript将文件上传到S3

  5. 5

    使用Javascript上传多个文件

  6. 6

    使用javascript删除上传的文件

  7. 7

    使用javascript删除上传的文件

  8. 8

    使用javascript从文件夹获取图像大小

  9. 9

    如何使用Javascript获取网页上图像的文件大小?

  10. 10

    上传文件前使用ajaxSubmit时如何获取文件大小

  11. 11

    使用Firebase存储上传后如何获取调整后大小的downloadUrl(Web SDK +调整图像大小)

  12. 12

    使用JavaScript读取文件而不上传文件

  13. 13

    无法使用AJAX将PHP变量获取到JavaScript文件

  14. 14

    无法使用AJAX将PHP变量获取到JavaScript文件

  15. 15

    上传文件后,如何在Django中使用AJAX更新表(与JavaScript链接)?

  16. 16

    使用javascript上传文件后,excel CSV中的按钮和单选按钮

  17. 17

    使用Python ftplib上传后无法删除文件

  18. 18

    检查使用JavaScript上传的文件数的长度

  19. 19

    如何使用JavaScript停止文件上传事件

  20. 20

    使用PHP / JavaScript上传大文件?

  21. 21

    使用javascript上传文件页面验证

  22. 22

    如何使用javascript隐藏上传文件元素?

  23. 23

    临时上传文件以使用它 - javascript

  24. 24

    使用JavaScript上传文件-如何获取更频繁的进行中事件

  25. 25

    如何使用javascript获取网页的长度/大小

  26. 26

    使用JavaScript获取资源的传输大小

  27. 27

    使用javascript获取内容框的大小

  28. 28

    无法将音频文件上传到Cloudinary API(使用javascript)

  29. 29

    使用javascript上传图像

热门标签

归档