jeecms附件上传

直接上代码:

在上传页面也如如下代码:

<#include "../house/xsl_upload.html"/>
<span id="ufc1" style="position:relative">
<input type='text' id='uploadFileText1' width="220px"  disabled="disabled"/>  
<input class="browse" type='button' value='表格导入'/>
<input onchange="$('#uploadFileText1').val(this.value)" size="14" type="file" id="uploadFile1" class="file-button"/>
</span>

<input class="upload-button" type="button" value="上传" onclick="uploadAttachment(1);"/><br/>
<@p.text id="uploadImgPath1" name="titleImg" size="40" disabled="disabled" />

以下是引入的xsl_uoload.html内容

/上传附件
function uploadAttachment(n) {
console.log(window.location.origin);
    var of = $("#uploadFile"+n);
    var wjmc=of.val();
    var wjlx=wjmc.split(".");
    console.log(wjlx[1]);
    //检查是否选择了文件
    if(of.val()=="") {
        $.alert("<@s.m 'global.prompt'/>",'<@s.m "content.error.noFileSelected"/>');
        return;
    }
    if(wjlx[1]!="xls"&&wjlx[1]!="xlsx"){
        $.alert("<@s.m 'global.prompt'/>",'<@s.m "content.error.noFiletype"/>');
        return;
    }
    //将file移动至上传表单
    $("#fileContent").empty();
    $("#fileContent").append(of);
    //复制一个file放至原处
    $("#ufc"+n).append(of.clone().attr("value",""));
    //修改属性
    $("#uploadFileText"+n).attr("value","");
    of.attr("id","");
    of.attr("name","uploadFile");
    //其他表单
    $("#ufFileName").val($("#fileName"+n).val());
    $("#ufWidth").val($("#zoomWidth"+n).val());
    $("#ufHeight").val($("#zoomHeight"+n).val());
    //先清除
    $("#ufMark").val("");
    $("#ufMark").val($("#mark"+n).val());
    $("#uploadNum").val(n);
    $("#uploadForm").submit();
    
}
<form id="uploadForm" action="../common/o_upload_xls.do" method="post" enctype="multipart/form-data" target="hiddenIframe" style="display:none;width:0px;height:0px;">
<span id="fileContent"></span>
<input id="ufWidth" type="hidden" name="zoomWidth"/>
<input id="ufHeight" type="hidden" name="zoomHeight"/>
<input id="ufFileName" type="hidden" name="fileName"/>
<input id="ufMark" type="hidden" name="mark"/>
<input id="uploadNum" type="hidden" name="uploadNum"/>
</form>
<iframe name="hiddenIframe" frameborder="0" border="0" style="display:none;width:0px;height:0px;"></iframe>

//////////////////////////////////////////////////////////////////////////////////////////////////////////

后台代码:调用的是图片上传代码,去除了格式校验

    @RequiresPermissions("common:o_upload_xls")
    @RequestMapping("/common/o_upload_xls.do")
    public String executexls(
            String filename,
            Integer uploadNum,
            Boolean mark,
            @RequestParam(value = "uploadFile", required = false) MultipartFile file,
            HttpServletRequest request, ModelMap model) {
        CmsSite site = CmsUtils.getSite(request);
        MarkConfig conf = site.getConfig().getMarkConfig();
        if (mark == null) {
            mark = conf.getOn();
        }
        String origName = file.getOriginalFilename();
        String ext = FilenameUtils.getExtension(origName).toLowerCase(
                Locale.ENGLISH);
        try {
            String fileUrl;
            if (site.getConfig().getUploadToDb()) {
                String dbFilePath = site.getConfig().getDbFileUri();
                if (!StringUtils.isBlank(filename)) {
                    filename = filename.substring(dbFilePath.length());
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = dbFileMng.storeByFilename(filename,
                                new FileInputStream(tempFile));
                        tempFile.delete();
                    } else {
                        fileUrl = dbFileMng.storeByFilename(filename, file
                                .getInputStream());
                    }
                } else {
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = dbFileMng.storeByExt(site.getUploadPath(),
                                ext, new FileInputStream(tempFile));
                        tempFile.delete();
                    } else {
                        fileUrl = dbFileMng.storeByExt(site.getUploadPath(),
                                ext, file.getInputStream());
                    }
                    // 加上访问地址
                    fileUrl = request.getContextPath() + dbFilePath + fileUrl;
                }
            } else if (site.getUploadFtp() != null) {
                Ftp ftp = site.getUploadFtp();
                String ftpUrl = ftp.getUrl();
                if (!StringUtils.isBlank(filename)) {
                    filename = filename.substring(ftpUrl.length());
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = ftp.storeByFilename(filename,
                                new FileInputStream(tempFile));
                        tempFile.delete();
                    } else {
                        fileUrl = ftp.storeByFilename(filename, file
                                .getInputStream());
                    }
                } else {
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = ftp.storeByExt(site.getUploadPath(), ext,
                                new FileInputStream(tempFile));
                        tempFile.delete();
                    } else {
                        fileUrl = ftp.storeByExt(site.getUploadPath(), ext,
                                file.getInputStream());
                    }
                    // 加上url前缀
                    fileUrl = ftpUrl + fileUrl;
                }
            } else {
                String ctx = request.getContextPath();
                if (!StringUtils.isBlank(filename)) {
                    filename = filename.substring(ctx.length());
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = fileRepository.storeByFilename(filename,
                                tempFile);
                        tempFile.delete();
                    } else {
                        fileUrl = fileRepository
                                .storeByFilename(filename, file);
                    }
                } else {
                    if (mark) {
                        File tempFile = mark(file, conf);
                        fileUrl = fileRepository.storeByExt(site
                                .getUploadPath(), ext, tempFile);
                        tempFile.delete();
                    } else {
                        fileUrl = fileRepository.storeByExt(site
                                .getUploadPath(), ext, file);
                    }
                    // 加上部署路径
                    fileUrl = ctx + fileUrl;
                }
            }
            fileMng.saveFileByPath(fileUrl, origName, false);
            model.addAttribute("uploadPath", fileUrl);
            model.addAttribute("uploadNum", uploadNum);
        } catch (IllegalStateException e) {
            model.addAttribute(ERROR, e.getMessage());
            log.error("upload file error!", e);
        } catch (IOException e) {
            model.addAttribute(ERROR, e.getMessage());
            log.error("upload file error!", e);
        } catch (Exception e) {
            model.addAttribute(ERROR, e.getMessage());
            log.error("upload file error!", e);
        }
        cmsUserMng.updateUploadSize(CmsUtils.getUserId(request), Integer.parseInt(String.valueOf(file.getSize()/1024)));
        return RESULT_PAGE;
    }

猜你喜欢

转载自blog.csdn.net/qq_36397267/article/details/81237178