File upload 如何上传jhipster格式的文件?

File upload 如何上传jhipster格式的文件?,file-upload,angular5,jhipster,File Upload,Angular5,Jhipster,我刚刚开始使用jhipster 5和angular 5。我有一个表单,在这个表单中,除了几个常规字段外,我还有一个文件输入 我找不到任何关于如何在jhipster中归档的文档 编辑1: 我可以设法上传文件并发送到服务器。下面是我处理表单提交的服务器方法 @PostMapping("/email-jobs") @Timed public ResponseEntity<EmailJobDTO> createEmailJob(MultipartFile file, @Val

我刚刚开始使用jhipster 5和angular 5。我有一个表单,在这个表单中,除了几个常规字段外,我还有一个文件输入

我找不到任何关于如何在jhipster中归档的文档

编辑1:

我可以设法上传文件并发送到服务器。下面是我处理表单提交的服务器方法

@PostMapping("/email-jobs")
    @Timed
    public ResponseEntity<EmailJobDTO> createEmailJob(MultipartFile file, @Valid @RequestBody EmailJobDTO emailJobDTO) throws URISyntaxException {
        log.debug("REST request to save EmailJob : {}", emailJobDTO);
        if (emailJobDTO.getId() != null) {
            throw new BadRequestAlertException("A new emailJob cannot already have an ID", ENTITY_NAME, "idexists");
        }

        System.out.println(file.getName() + " File Name ");

        EmailJobDTO result = emailJobService.save(emailJobDTO);
        return ResponseEntity.created(new URI("/api/email-jobs/" + result.getId()))
            .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString()))
            .body(result);
    }

若我从方法签名中删除@RequestBody,那个么我不会得到上述异常,但随后我开始得到400个错误的请求异常,表示我的表单字段不能为null

必须定义MultipartFile is
@RequestParam
并在post映射中声明
products=MediaType.APPLICATION_JSON_VALUE
,如:

@PostMapping("/email-jobs", produces = MediaType.APPLICATION_JSON_VALUE)
客户端,您可以尝试发送请求,如下所示:

Upload.upload({
            url: 'api/path',
            data: {
                file: yourdatafile
            },
            headers: {'Content-Type': 'multipart/form-data'}
        }).progress(function (evt) {
            // handle progress
        }).success(function (data, status, headers, config) {
            // handle success
        });

不要上传文件,而是将字段类型创建为BLOB,然后在您的业务逻辑中,根据需要创建一个文件或执行其他操作。

您是否在实体中定义了BLOB字段?我尝试添加BLOB字段,但它不起作用。每当我点击浏览和上传文件。它给出了错误。我已经更新了我的问题,但没有更多的细节。为什么要通过添加文件参数来更改JHipster生成的代码。blob应该存在于您的DTO中。当您手动更改代码时,不能说您没有在JHipster中找到此文档。blob将存储在数据库中。我只想上传一个临时excel文件,读取该excel文件,然后将数据存储在数据库中的excel中。我不想将文件存储在数据库中。上载来自哪里?您可以尝试ng file Upload
Upload.upload({
            url: 'api/path',
            data: {
                file: yourdatafile
            },
            headers: {'Content-Type': 'multipart/form-data'}
        }).progress(function (evt) {
            // handle progress
        }).success(function (data, status, headers, config) {
            // handle success
        });