手机网站(非APP)图片上传的这效果怎么做?

发布于 2022-09-03 01:26:30 字数 142 浏览 18 评论 0

图片描述

这种上传图片的效果怎么做?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑着哭最痛 2022-09-10 01:26:30

自己写,用FormDate
设计稿做的挺好,我借鉴一下,谢啦.

正好我们的项目也需要用到图片上传组件,
刚刚写了一个,还在优化,仅供参考,欢迎提出优化方案。

// 上传组件
function UpDataFile(el, options) {
    this.element = el;
    this.options = $.extend({
        url: null, // 接收路径
        success: function() {}, // 上传成功的回调函数
        error: function() {} // 上传失败的回调函数
    }, options);

    this.formData = new FormData(); // 创建表单数据实例

    this.createDom();
    this.events();
}

UpDataFile.prototype = {

    // 上传
    upData: function() {
        var that = this;
        
        $.ajax({
            url: this.options.url,
            type: 'POST',
            cache: false,
            data: this.formData,
            processData: false,
            contentType: false,
            success: function(data) {
                that.success.call(that, data);
                that.options.success.call(that, data);
            },
            error: function(data) {
                that.error.call(that, data);
                that.options.error.call(that, data);
            }
        });
    },

    // 创建上传组件
    createDom: function() {
        this.fileEl = $('<div class="cy-file"><ul class="cy-file-list"></ul><a class="cy-file-btn" href="javascript:;"><span>上传文件</span></a></div>');
        this.element.after(this.fileEl);
    },

    // 上传成功
    success: function() {
        this.options.success.bind(this);
    },

    // 上传失败
    error: function() {
        this.options.error.bind(this);
    },

    // 渲染图片
    render: function() {
        
    },

    // 添加文件
    addFile: function() {
        this.element.trigger('click');
    },

    // 事件处理
    events: function() {
        var that = this;

        this.fileEl.on('click', '.cy-file-btn', this.addFile.bind(this));

        this.element.on('change', function() {
            [].map.call($(this)[0].files, function(i) {
                that.formData.append('updatafile', i);
            });
            that.upData();
        });
    }
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文