@Override
public Response<String> uploadFile(final Object object, final MultipartFile multipartFile) {
final Map<String, Object> s3Url = videoServiceFeign.uploadFile(multipartFile,
object.getId().toString(), object.getIdIds().toString(), object.getName());
object.setS3Url(s3Url.get("object").toString());
return generateSuccessResponse();
}
@Override
public Response<String> uploadFile(final Stream stream, final File file) throws IOException {
final InputStream inputStream = Files.newInputStream(file.toPath());
final MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(),
ContentType.MULTIPART_FORM_DATA.toString(), IOUtils.toByteArray(inputStream));
return this.uploadFile(stream, multipartFile);
}
@FeignClient(name = "video-service", url = "${video-service.ribbon.listOfServers}")
public interface VideoServiceFeign {
@PostMapping(path = "/api/v1/video/upload", consumes = {"multipart/form-data"})
Map<String, Object> uploadFile(@RequestPart("file") MultipartFile multipartFile,
@RequestParam("id") String id,
@RequestParam("ids") String ids,
@RequestParam("name") String name);
}
@ApiOperation("Upload new video file")
@ApiResponses({
@ApiResponse(code = 200, message = "File uploaded successfully"),
@ApiResponse(code = 403, message = "Access Denied"),
@ApiResponse(code = 500, message = "Internal server error"),
@ApiResponse(code = 503, message = "Gateway timeout")
})
@ResponseStatus(HttpStatus.OK)
@PostMapping(value = "/upload", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
public @ResponseBody
Map<String, Object> uploadFile(@RequestPart("file") final MultipartFile file,
@RequestParam("id") final String id,
@RequestParam("ids") final String ids,
@RequestParam("name") final String name
) throws IOException {
return uploadService.uploadFile(id, ids, name, file);
}
经过几天的研究,我发现了我所忽略的问题,即该方法的问题:public response
在行中:
final MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), ContentType.MULTIPART_FORM_DATA.toString(), IOUtils.toByteArray(inputStream));
我有两个问题,首先是内容类型,我使用video/mp4
而不是contenttype.multipart_form_data
。第二个参数是mockmultipartfile
构造函数中的第一个参数。我使用file.getname()
,但这是不正确的,因为文档说这是多部分请求中的一个字段名。那应该是“文件”。
我肯定在这里缺少某种序列化程序 任何建议都将不胜感激! 谢谢
我正在为一个项目使用Spring Boot,我正在尝试上传大文件,但不知何故它不起作用。 我在端口8080上运行Spring Boot Zuul(@EnableZuulProxy),然后是另一个应该处理上传的微服务(我们称之为数据存储)。 我向http://localhost:8080/zuul/my/upload/endpoint发送了一个包含文件和文本字符串的多部分请求。 当我上传一个100M
问题内容: 是的,这是一个冗长的问题,涉及很多细节… 所以,我的问题是:如何将分段上传到Vimeo? 对于想要在自己的计算机上进行复制和调试的任何人: 这是您需要的东西: 我的代码在这里。 包括在此处找到的抄写员库 拥有至少大于10 MB的有效视频文件(mp4),并将其放在目录中,或更改该代码以指向您所在的位置。 而已!谢谢你的协助! 重大更新: 我在此处的代码中为Vimeo保留了有效的API密钥
接口说明 上传视频文件 API地址 POST /api/marker/1.0.0/uploadVideo 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 dataGuid string form 是 场景GUID file string form 是 视频文件 响应字段说明 参数 类型 说明 mp4UploadPath String 视频文件上传地址 响应成功示例 { "
用户通过视频上传、管理视频、获取代码,实现本地视频在制定网站播放。 2.1视频上传 进入视频页面,点击上传视频 按钮,在弹出的页面点击添加视频 : 1)选择视频“分类”,添加视频“标签”(选填); 2)点击【添加视频】或者【选择文件并上传】按钮选择本地一个或多个视频,点击确认即开始视频上传;或者在本地选择一个或多个视频,将视频拖拽到视频上传区,即可进行视频上传; 3)上传过程中点击视频上传或者取消
Spark API 中所有的 Flash 接口需要 Flash 插件的版本在 10.1 以上才有效,使用前请确保 Flash 插件版本符合要求。 在上传视频的过程中,不用与 Spark 平台进行 HTTP 通信,使用 JavaScript 和 Spark 平台提供的 Flash 进行交互即可完成。关于如何在网页中嵌入 Flash 以及如何和 Flash 进行交互,请参阅附录 2。上传接口用到的所有