美文网首页
js 动态多图片下载

js 动态多图片下载

作者: 谢冰Drama | 来源:发表于2019-03-08 10:21 被阅读0次

    最近项目中 有个需求  : 一个订单  可能存在 对张的电子发票 ,且 电子发票从接口中  获取的数据是  url的形式 :例如:http://dsadda.jpg 形式  

    当时在想 怎么才可以动态的去下载多张图片呢   (下面是分享 多多交流)

    产生了两个想法 :一: 采用 c# 服务端 进行图片流的  打包  并下载  (但是这个方法偏难了 ,所以我果断的舍弃了)

            二:可不可以动态的用js去下载呢?结果还真找到了  下面是代码 show time:

              var time = new Date();

                    let triggerDelay = 100;

                    let removeDelay = 1000;

                    var array = new Array();

                            $.ajax({

                                    cache: false,

                                    type: "GET",

                                    url: "@Url.Action("File","Bill")",

                                    data: { 'statementNo': data.StatementNo},

                                    async: false,

                                    error: function (request) {

                                        layer.msg(request);

                                    },

                                    success: function (data) {

                                        if (data == null || data == '' || data.length <= 0)

                                        {

                                            layer.msg("无电子发票附件");

                                            return;

                                        }

                                        for (var i = 0; i < data.length; i++) {

                                            array.push(data[i]);

                                          // _createIFrame(data[i], i * triggerDelay, removeDelay);

                                        }

                                    }

                                });

                            for (var j = 0; j < array.length; j++)

                            {

                                console.log(array[j]);

                                _createIFrame(array[j], j * triggerDelay, removeDelay);

                            }

    function _createIFrame(url, triggerDelay, removeDelay) {

                //动态添加iframe,设置src,然后删除

                setTimeout(function () {

                    var frame = $('<iframe style="display: none;" class="multi-download"></iframe>');

                    frame.attr('src', url);

                    $(document.body).after(frame);

                    setTimeout(function () {

                        frame.remove();

                    }, removeDelay);

                }, triggerDelay);

            };

    相关文章

      网友评论

          本文标题:js 动态多图片下载

          本文链接:https://www.haomeiwen.com/subject/niblpqtx.html