收藏
回答

TCP.write 写数据量比较大的时候会报错文件没写完,请问怎么解决?

我从相册中选了一张图片,大小应该有好几兆这样,每次调用tcp.write都出现相同问题,

都是写到516k的时候就报错,请问怎么解决?

以下是部分代码

const BUFFER_LEN = 2048;

          const fs = wx.getFileSystemManager();

          var buffer = new ArrayBuffer(BUFFER_LEN);

          const fd = fs.openSync({

            filePath: filepath,

            flag: "r"

          });


          do {

            var readTotalBytes = 0;

            var res = fs.readSync({

              fd: fd,

              arrayBuffer: buffer,

              length: BUFFER_LEN

            });

            readTotalBytes = res.bytesRead;

            tcp.write(res.arrayBuffer.slice(0,readTotalBytes));

      

            if(readTotalBytes < BUFFER_LEN)

            {

              console.log("total send " + totalSendData.toString() +" bytes.");

              break;

            }


            console.log(readTotalBytes);

      

          }

          while (readTotalBytes > 0)


回答关注问题邀请回答
收藏

1 个回答

  • 燕七
    燕七
    2022-06-21

    同问题

    2022-06-21
    有用
    回复
登录 后发表内容