当前位置: 首页 > 知识库问答 >
问题:

春云假装不上传视频文件

贾骏
2023-03-14
    @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);
    }

共有1个答案

晁绍辉
2023-03-14

经过几天的研究,我发现了我所忽略的问题,即该方法的问题:public response uploadFile(final Stream Stream,final File File)抛出IOException

在行中:

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。上传接口用到的所有