bruce
bruce

Reputation: 1

How to use rsocket to upload a file

Large file upload failed

When receiving 130KB, it is possible, but there is an error if it is greater than 130Kb

server: org.springframework.boot:spring-boot-starter-rsocket org.springframework.boot:spring-boot-starter-webflux

client: "rsocket-composite-metadata": "^1.0.0-alpha.3", "rsocket-flowable": "^0.0.29-alpha.0", "rsocket-messaging": "^1.0.0-alpha.3", "rsocket-websocket-client": "^1.0.0-alpha.3",

Kotlin

    @MessageMapping("/upload")
    fun upload(@Payload fileData: ByteArray?): Mono<String> {

        println("========= OK")
        println("========= OK "+ fileData!!.size)
        val uploadFile = File("/Users/Downloads/uploaded_file.png")

        return Mono.just("ok").doOnSuccess {

            try {
                FileOutputStream(uploadFile).use { fos ->
                    fos.write(fileData!!)
                }
            } catch (e: IOException) {
                e.printStackTrace()
            }
        }
    }

I use srocket-js to upload files


 upload(file) {
        let route = encodeRoute("/upload");
        let compositeMetaData = encodeCompositeMetadata([
          [WellKnownMimeType.MESSAGE_RSOCKET_ROUTING, route]
       ]);


        const reader = new FileReader();
        reader.onload = (event) => {
          let result = event.target.result as ArrayBuffer;
          console.log(result)


        this.socket.requestResponse({data: Buffer.from(result), metadata: compositeMetaData}, {
          onComplete(): void {
          }, onError(error: Error): void {
            console.error("Error", error);
          }, onExtension(extendedType: number, content: Buffer | null | undefined, canBeIgnored: boolean): void {
          }, onNext(payload: Payload, isComplete: boolean): void {
            console.log("OK", isComplete);
            console.log("payload", payload.data);

          }
        })
        }
        reader.readAsArrayBuffer(file);
      }

Please provide an example program to tell me what to do

Upvotes: 0

Views: 45

Answers (0)

Related Questions