spring dubbo 에서 파일 을 호출 하여 MultipartFile 을 인자 로 직접 업로드 할 수 없습니다.

947 단어 자바
1.MultipartFile 은 매개 변수 로 할 수 없고 분포 식 호출 인 터 페 이 스 를 통 해 직접 업로드 할 수 없습니다.final 이기 때문에 직렬 화 를 실현 할 수 없습니다.
2.inputStream 을 매개 변수 로 도 전달 할 수 없습니다.
InputStream inputStream =  file.getInputStream();
인터페이스의 실현 클래스 에서 inputStream 은 비어 있 습 니 다.파일 흐름 은 한 번 만 가 져 올 수 있 고 매개 변수 로 할 수 없 기 때 문 입 니 다.
3.구체 적 으로 는 spring MVC 의 Multipart File file 은 바이트 전 삼 으로 전환 하여 흐름 으로 전환 합 니 다.
byte[] buffer = file.getBytes();
String OSSURL = fileUploadService.uploadByMultipartFile(buffer, name);



public String uploadByMultipartFile(byte[] bytes, String name ) {
        String utl = "";
        try {
            InputStream inputStream = new ByteArrayInputStream(bytes);
            OSSClientUtils.uploadFile2OSS(inputStream, name);
            //            
            utl = OSSClientUtils.getImgUrl(name);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return utl;
    }

좋은 웹페이지 즐겨찾기