【问题标题】:How to store an image that has been uploaded.如何存储已上传的图像。
【发布时间】:2015-12-29 22:43:56
【问题描述】:

如何将要上传到输入类型文件的图像存储到变量中,然后在 DOM 中预览?如果这有助于回答,我正在使用 MEAN 堆栈。

            <form method="post">
                <label class="app-file-input button" flow-init>
                    <span>Upload</span>
                    <i class="icon-enter"></i>
                    <input type="file" flow-btn/>
                    <img flow-img="$flow.files[0]" />
                </label>
            </form>

我已经阅读过,一旦上传了图片,它就会存储在临时存储中。我如何访问它然后在上传之前预览图像?

干杯

【问题讨论】:

  • 您可能需要在表单属性中添加enctype="multipart/form-data"
  • 也许this question会帮助你

标签: javascript html angularjs


【解决方案1】:

您需要以 Angular 的方式进行...如果您尝试实现自己的解决方案,您可以使用以下简单代码:https://stackoverflow.com/a/31952876/407245

但是,如果我是你,我会使用类似 https://github.com/danialfarid/ng-file-uploadhttps://github.com/nervgh/angular-file-upload 的东西

【讨论】:

  • 你为什么要使用这样的东西而不是出于兴趣自己写呢?
【解决方案2】:

这是我给你的:

请看下面的示例 JS 代码:

function readURL(input) {

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#blah').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}



 $(document ).on('change','#imgInp' , function(){ readURL(this); });

以及相关的 HTML:

<form id="form1" runat="server">
    <input type='file' id="imgInp" />
    <img id="blah" src="#" alt="your image" />
</form>

DEMO

Referal

【讨论】:

  • 我在另一篇文章中看到了这个答案。我尝试实现它,但是当我选择图像时,它不会更新 dom。甚至没有 console.log 错误。我将脚本放在我的控制器中。也许有什么东西阻碍了它
  • 任何关于为什么会这样的想法
  • 您在哪个浏览器上尝试?
  • Chrome 最新。我可以添加演示作品,但在我的 MEAN 堆栈上它根本不起作用
  • 哪个堆栈?我不明白
猜你喜欢
  • 2019-12-13
  • 2018-04-11
  • 2017-03-27
  • 2012-04-28
  • 1970-01-01
  • 2016-05-28
  • 2020-12-16
  • 1970-01-01
  • 2019-08-15
相关资源
最近更新 更多