gpt4 book ai didi

angularjs - Spring-boot:所需的请求部分 'file' 不存在

转载 作者:行者123 更新时间:2023-12-01 06:05:22 25 4
gpt4 key购买 nike

我收到错误 Required request part 'file' is not present当我想上传图片时。
我打算上传视频和图片。视频上传效果很好,但图像不起作用。
这是我的代码。

Spring Boot

  @ApiOperation(value = "Post new file")
@RequestMapping(value = "/", method = RequestMethod.POST)
public String handleFileUpload(@RequestParam("file") MultipartFile file,
@RequestParam (value = "accesstoken", required = true) String accessToken,
RedirectAttributes redirectAttributes) throws Exception{
tokenService.verifyAdmin(accessToken);

storageService.store(file);
return "You successfully uploaded " + file.getOriginalFilename() + "!";
}

存储服务.store
  @Override
public void store(MultipartFile file) {
try {
if (file.isEmpty()) {
throw new StorageException("Failed to store empty file " + file.getOriginalFilename());
}
Files.copy(file.getInputStream(), this.rootLocation.resolve(file.getOriginalFilename()));
} catch (IOException e) {
throw new StorageException("Failed to store file " + file.getOriginalFilename(), e);
}
}

HTML - 图片上传
<div class="control-group">
<label class="control-label" for="date01">Cover Image</label>
<div class="controls">
<button class="btn-primary" name="file" ngf-pattern="'image/*'" ngf-accept="'image/*'" ngf-max-size="2MB" ngf-select="ctrl.uploadCoverImageFile($file)">Upload</button>
</div>
</div>

html-视频上传
<div class="control-group">
<label class="control-label" for="date01">Upload video</label>
<div class="controls">
<button class="btn-primary" ngf-select="ctrl.uploadVideoFile($file)">Upload</button>
</div>
</div>

Controller
self.uploadCoverImageFile = function(file){
self.upload(file,-1);
};
self.uploadVideoFile = function(file){
self.upload(file,1);
};
self.upload = function (file,x) {
fileUploadService.uploadFile(file).then(function (resp) {
console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
}, function (resp) {
console.log('Error status: ' + resp);
}, function (evt) {
if(x > 0)
self.videoUploadProgress = parseInt(100.0 * evt.loaded / evt.total);
else
self.coverimageUploadProgress = parseInt(100.0 * evt.loaded / evt.total);
});
};

文件上传服务.uploadFile
//ng-file-upload: [https://github.com/danialfarid/ng-file-upload]
uploadFile: function(file){
return Upload.upload({
url: baseEndPoint + '/',
data: {file: file, accesstoken: userService.accesstoken}
});
},

配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="500000000000"/>
</bean>
</beans>

应用程序配置文件
@ImportResource("classpath:/vod/config/config.xml")
@Configuration
public class AppConfig {
}

最佳答案

想启用multipart :我遇到了同样的问题,我只是在 .properties 文件中添加了以下属性:

multipart.enabled=true

关于angularjs - Spring-boot:所需的请求部分 'file' 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40754181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com