当前位置: 首页 > news >正文

网站建设公司北京网站排名快速提升工具

网站建设公司北京,网站排名快速提升工具,传媒公司怎么套路新人,长治公司网站建设react native获取本地图片我用的react-native-image-picker,但是它只能获取图片路径,以及base64的图片,不能获取到binary二进制形式的。 一开始我是让后端改造接口,把原本传binary的改成了base64,可是,躲得…

react native获取本地图片我用的react-native-image-picker,但是它只能获取图片路径,以及base64的图片,不能获取到binary二进制形式的。

一开始我是让后端改造接口,把原本传binary的改成了base64,可是,躲得了初一躲不过十五。

上传视频是不可能走base64这种取巧的途径,于是,怎么把媒体文件转成binary给后端就成为了跨不过的坎。

找了好久的资料,总是能得到以下的的回答:

let formData = new FormData();let file = { uri: uri, type: 'multipart/form-data', name: 'a.jpg' };formData.append("images", file);fetch(url, {method: 'POST',headers: {'Content-Type': 'multipart/form-data',},body: formData,}).then((response) => response.text()).then((responseData) => {console.log('responseData', responseData);}).catch((error) => { console.error('error', error) });

首先这段代码我尝试了许多次都无法把它用multipart/form-data传输,后来发现,不写Content-Type它默认倒是识别正确了!然而第二个问题我始终无法解决,就是uri通过picker拿到的只是个路径,后端是无法将这本地路径去识别成文件的,试了无数次后最终将其放弃。

所以又回到了如何把媒体文件转成binary的问题上。(使用:react-native-fs不知道行不行得通,没试过)反正const response = await fetch(FILE_LOCAL_URL); const blob = await response.blob();是行不通的。

最终,我还是通过npm搜索react native blob找到了组件:react-native-blob-util,通过它的API,总算是把文件成功传给后端接口识别了:

import { getHeader } from './common';
import { launchImageLibrary } from 'react-native-image-picker';
import { base } from '~/utils/base';
import ReactNativeBlobUtil from 'react-native-blob-util';/** 上传图片获取url */
export function fetchUpload(fileModular, cb, isVideo) {launchImageLibrary({ mediaType: isVideo ? 'video' : 'photo' }, async res => {const curFiles = res.assets;if (curFiles) {const m = curFiles[0];if (m.fileSize > 1024 * 1024 * 10) {base.fail('图片过大,请上传10MB以内的图片');} else {base.load();const headers = await getHeader('multipart/form-data');ReactNativeBlobUtil.fetch('POST', `${global.api}/api/upload`, {...headers,}, [{ name: 'file', filename: m.fileName, type: m.type, data: ReactNativeBlobUtil.wrap(m.uri) },{ name: 'fileModular', data: fileModular },]).then((res) => {const json = JSON.parse(res.data)cb(json.data.res);}).catch((err) => {console.log(err)}).finally(() => {base.stop();})}} else {base.fail('请选择图片');}})
}

http://www.yayakq.cn/news/550659/

相关文章:

  • 公司网站自己可以做吗广东省路桥建设发展有限公司网站
  • wordpress网站分享到朋友圈专业高端网站设计首选
  • 网站备案 取名资讯通不过wordpress略缩图alt
  • 表白网站怎么做中文个人网站模板下载
  • 陕西网站设计正能量成年入口
  • 绵阳优化网站排名汕头网站建设推广平台
  • 基于python网站开发做网站可以用哪些软件
  • 网站建设 推广企业税率三只松鼠营销案例分析
  • 建网站知乎wordpress 相册浏览器
  • 网站建设开发设计营销公司厦门推广方案范例
  • 快速网站排名优化wordpress 按装
  • 易网做的网站后台福州免费建站品牌企业
  • 网站建设的目的和意义wordpress 密码忘记
  • 青岛市网站建设多梦主题建设的网站
  • 响应式网站 模版react 和wordpress
  • 网站建设补贴是经信局的政策吗sap软件
  • 广州网站制作公司排名网站优化能发外链的gvm网站大全
  • 做书店网站版头互联网推广公司是做什么的
  • 网站架设标准仿素材网站
  • 请简述网站开发的流程图网站 宗旨
  • 免费网站软件wordpress查版本号
  • 什么网站可以做期刊封面西宁网站建设哪家公司好
  • 什么专业的会做网站国际网站建站
  • 响应式网站怎么做无缝轮播图尚德机构
  • 长沙网站seocom域名查询官网
  • 张家港优化网站seo沈阳做网站的设计公司哪家好
  • 珠海网站建设网响应式企业网站
  • 做网站42类商标怎么选小类本地房产交易信息网
  • 广州网站建设公司排名永兴网站制作
  • 网站怎么更新襄阳网站建设关于飞鱼