1.4.2.2.2. 后端

后端存在两种情况:

1. 不保存附件信息,即获取到上传文件后,获取到文件数据后该文件不再使用,不需要作为附件存储起来。

2. 保存附件信息。

1.4.2.2.2.1. 不保存附件信息

通过以下方式可以得到刚上传的文件:

public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView modelAndView = new ModelAndView("apps/file/selfupload");
        File file=fileManager.getFile(Long.parseLong(request.getParameter("fileid")),new Date());1

        //对得到的文件进行处理
        //…… 2
        modelAndView.addObject("filename", file.getName());
        modelAndView.addObject("filelength", file.length());
        return modelAndView;
    }

1

获取前端传来的文件id,并调用 fileManager getFile(Long fileId, Date createDate) 方法获取该文件,时间为当前即可

2

在此处处理该文件

1.4.2.2.2.2. 保存附件信息

在后端业务操作中调用如下接口,用来关联附件也业务数据:

     /**
     * 根据文件标识新引用
     * @param fileUrl 文件标识
     * @param referenceId 业务id
     */
    public  void updateReference(Long fileUrl, Long referenceId);1

    /**
     * 根据文件标识更新引用及子引用
     * @param fileUrl 文件标识
     * @param referenceId 业务主ID
     * @param subReference 业务子ID
     */
    public  void updateReferenceSubReference(Long fileUrl, Long referenceId, Long subReference);2

1

与该业务ID相关的所有附件都在同一处显示,使用该接口更新。

1

与该业务ID相关的所有附件都在同多处显示,每处根据子ID进行区分,使用该接口更新。