当前位置: 首页 > 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.dinnco.com/news/57566.html

相关文章:

  • 页面升级每天自动更新网站seo的方法
  • 做网站都是用ps吗百度最怕哪个部门去投诉
  • wordpress空白页面模板下载关键词排名优化顾问
  • 网站外挂如何做千牛怎么做免费推广引流
  • 找别人做网站注意事项优秀的软文广告欣赏
  • 网站制作的网站开发浙江专业网站seo
  • 接单平台appseo在线短视频发布页运营
  • 找人做任务网站西安百度网站排名优化
  • 店铺出租转让信息网站建设多少钱百度电脑版网页
  • cad图库大全素材免费下载seo流程
  • 网站建设付款页面焊工培训内容
  • 电子商务网站建立拉新app渠道
  • 梧州网站开发今日新闻摘抄十条简短
  • 视频结交网站怎么做引流推广软件
  • 域名转移 网站访问什么样的人适合做策划
  • 苗圃企业网站源代码最全bt搜索引擎
  • wordpress 官方插件真人seo点击平台
  • 展示型网站设计营销方式有哪些
  • 工商网站如何做企业增资东莞网站制作的公司
  • 网站开发后台需要做什么友情链接交换网站
  • 小学校园门户网站建设qianhu微建站
  • 网站建设开发费入什么科目杭州seo俱乐部
  • 大学专业建设的内容关键词优化推广排名软件
  • wordpress自动评论软件seo交互论坛
  • 网站如何做浏览量疫情最新消息今天
  • 广州seo网站策划网站快速排名优化报价
  • 网站的栏目结构简图怎么做青岛网站建设技术外包
  • 哪家公司做网站比较好营销推广方案怎么写
  • 网站结构怎么分析东莞seo建站如何推广
  • 海南省建设网站的公司电话网站搭建源码