File upload 如何上传jhipster格式的文件?
我刚刚开始使用jhipster 5和angular 5。我有一个表单,在这个表单中,除了几个常规字段外,我还有一个文件输入 我找不到任何关于如何在jhipster中归档的文档 编辑1: 我可以设法上传文件并发送到服务器。下面是我处理表单提交的服务器方法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
@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
});