大海话语
2021-11-03 17:51
采纳率: 87.6%
浏览 61
已结题

浏览器上传文件到华为OBS,大于1M不能上传,该怎么弄呢

我想将文件上传至华为OBS,但是大于1m的就不能上传,后台报线程断开的错误。又不能读本地文件路径,这个要给客户上传,不能读取别人的主机文件路径的。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • 让往事非 2021-11-03 18:02
    最佳回答
    大于1m不能上传的问题 你看看是不是在obs控制台里设置了 这个我也不太懂。
    不读取本地文件的话 就从前端传文件就行 像下面这么写
    
    ```java
    
    @GetMapping("upload")
        public String putLocalFile1(MultipartFile file) throws IOException {
    //服务器的一个任意的临时路径
            File file1 =new File("随便一个临时的路径");
            // 上传的文件转储到新建的这个空的文件里
            file.transferTo(file1);
            InputStream inputStream = file.getInputStream();
            //上传的文件
            UUID uuid=UUID.randomUUID();
    
            //拼接一个新的名字 这个名字就看你自己的意思了 去拼接
    
            String originalFileName = uuid.toString().replace("-","")+"456.mp4";
    //        新建一个 输入流的空对象
            FileInputStream fis=null;
    
            ObsClient obsClient =null;
            PutObjectResult putObjectResult = null;
            String requestId=null;
            try {
    //            把file的数据写到fis里面
                fis  = new FileInputStream(file1);
                //存储到obs
                putObjectResult = obsClient.putObject("xxxtest", originalFileName, fis);
                //返回一个存储对象的id
                requestId = putObjectResult.getRequestId();
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                try {
                    obsClient.close();
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return  requestId;
        }
    
    

    ```

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题