选择文件后点击按钮刷新后没有选择的文件,数据库也没有保存到数据

HtKnowledgeFileInfo是用来存储文件的
controller层

@PostMapping("/uploadFile")
@ResponseBody
public AjaxResult uploadFile(@RequestParam(value="file", required=false) MultipartFile file) throws IOException
{
    String filePath = Global.getUploadPath();
    String nameType=file.getOriginalFilename();
    String Name=nameType.substring(0,nameType.lastIndexOf("."));
    HtKnowledgeFileInfo fileInfo=new HtKnowledgeFileInfo();
    String fileName = null;
    try {
        fileName = FileUploadUtils.upload(filePath, file, DEFAULT_ALLOWED_EXTENSION);
    } catch (InvalidExtensionException e) {
        e.printStackTrace();
    }
    fileInfo.setFilePath(fileName);
    fileInfo.setFileName(Name);
    return toAjax(fileInfoService.insertHtKnowledgeFileInfo(fileInfo));
}

HTML页面

  <div class="col-sm-9">
            <input id="upload" name="upload" type="file"  multiple>
            <button onclick="uploadFile()">上传</button>
  </div>

javascript代码

  function uploadFile(isno) {
    var formData = new FormData();
    formData.append('fileId',$("#fileId").val());
    formData.append('fileName', $("#fileName").val());
    formData.append('file', $('#upload')[0].files[0]);
    if (typeof($('#upload')[0].files[0]) != 'undefined') {
        $.ajax({
            url: ctx + "ht/invoice/uploadFile",
            type: 'post',
            cache: false,
            data: formData,
            async: false,
            processData: false,
            contentType: false,
            dataType: "json",
        });
    }
}

这个可以上传文件到数据库,但是我点击上传按钮会刷新,刷新后上传的文件就不在了,这样才能上传后,回到页面,上传的文件还在呢?

这是选择文件,还没有点击上传按钮之前

这是点击按钮后,选择的文件不显示,但是数据传到了数据库中的

阅读 1.2k
1 个回答

dataType去掉上传文件应该时multipart/form-data 而不是applition/json

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题