You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native生成图片分片Buffer与服务器期望格式不符问题求助

解决React Native中图片路径生成分片Buffer的格式问题

问题分析

你当前得到的{ type: 'Buffer', data: [...] }是@craftzdog/react-native-buffer库返回的Buffer对象内部结构,而服务器期望的是包含Data URI前缀的Base64编码字符串对应的Buffer(即开头带有data:image/jpeg;base64,格式的字节流)。

解决方案

需要先将读取的Base64图片数据拼接上Data URI前缀,再转换为Buffer:

import { Buffer } from '@craftzdog/react-native-buffer';
import RNFS from 'react-native-fs';

// 根据图片实际类型调整MIME类型,如image/png、image/webp等
const mimeType = 'image/jpeg';
const data = await RNFS.read(filePath, length, uploadedSize, 'base64');
// 拼接完整的Data URI字符串
const dataUri = `data:${mimeType};base64,${data}`;
// 将Data URI字符串转换为符合服务器要求的Buffer
const bufferData = Buffer.from(dataUri, 'utf8');

关键说明

  • 服务器期望的Buffer本质是Data URI字符串的UTF-8编码字节流,而非图片原始二进制数据的Buffer。
  • 分片上传时,只需对拼接后的dataUri字符串按指定长度分片,再将每一片转换为Buffer即可。

内容的提问来源于stack exchange,提问作者Fatima Siddique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:41:05