zoukankan      html  css  js  c++  java
  • jquery 上传附件的相关代码

    function setUploadFileMethod() {
        var fileList = Cyan.Arachne.form.preWorkDtoList;
        refactorUploadFileMethod(fileList, 'uploadFiles_', 'inputFile', 'uploadForm_', 'attachmentId_', 'file-list');
    }
    
    /**
     * 设置附件上传的按钮事件
     *
     * @param fileList 列表的数据
     * @param uploadButtonName 每个上传文件的按钮id
     * @param fileInputName    每个上传文件的输入框id
     * @param uploadFormName   每个上传文件对应的form名称
     * @param attachmentName   页面上存在每个附件的inputId
     * @param listName         附件展示的ul列表class名称
     */
    function refactorUploadFileMethod(fileList, uploadButtonName, fileInputName, uploadFormName, attachmentName, listName) {
        for (var i = 0; i < fileList.length; i++) {
            $('#' + uploadButtonName + i).bind("click", {index: i}, function (event) {
                var t = event.data.index;
                $('#' + fileInputName + t).click();
            });
            $('#' + fileInputName + i).bind("change", {
                index: i,
                uploadFormName: uploadFormName + i,
                attachmentName: attachmentName + i,
                listName: listName + i,
                attachmentId: fileList[i].attachmentId
            }, saveFileInit);
        }
    }
    
    function saveFileInit(event) {
        saveFileProcess(event.data.index, event.data.attachmentId, event.data.uploadFormName,
            event.data.attachmentName, event.data.listName);
    
    }
    
    function saveFileProcess(index, attachmentId, uploadFormName, attachmentName, listName) {
        saveFile2(attachmentId, 0, {
            callback: function (ret) {
                if (ret !== null) saveFileInfos2(ret, index, attachmentName, listName);
            },
            wait: true,
            progress: true,
            form: $('#' + uploadFormName)[0].name
        })
    }
    
    // 上传文件的接口
    function saveFile2(attachmentId, index) {
        Cyan.Arachne.doPost("/emphasisJob/project/report/service/saveFileInfo?attachmentId=" + attachmentId + "&fileIndex=" + index, arguments, 3);
    }
    
    function saveFileInfos2(ret, index, attachmentName, listName) {
        if (ret !== null) {
            $('#' + attachmentName).attr("value", ret.attachmentId);
            $('.' + listName).append('<li class="tal attach-content" style="margin-top:8px;"><span class="attach-icon"></span><span class="attach-name">' + ret.attachmentName
                + '</span><a href="#"  onclick="System.showAttachment(\'/attachment/' + ret.encodeId + '/' + ret.attachmentNo + '\',\'' + ret.extName + '\');return false;"' +
                'target="_blank" class="search-btn"></a>' +
                '<a href="/attachment/' + ret.encodeId + '/' + ret.attachmentNo + '" class="download-btn"></a> ' +
                '<span class="delect-btn" onclick="deleteReportFile(this, \'' + ret.encodeId + '\',\'' + ret.attachmentNo + '\', ' + index + ')"></span>' +
                '</li>');
        }
    }
  • 相关阅读:
    django开发之model篇-Field类型讲解
    Scrapy+Chromium+代理+selenium
    如何在 CentOS 7 上安装 Python 3
    分享几个简单的技巧让你的 vue.js 代码更优雅
    如何用纯 CSS 创作一副国际象棋
    如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
    Java8中数据流的使用
    SpringBoot中使用mybatis-generator自动生产
    Git 同时与多个远程库互相同步
    记录Java中对url中的参数进行编码
  • 原文地址:https://www.cnblogs.com/chendezhen/p/15702604.html
Copyright © 2011-2022 走看看