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

建站网站排行德州网站建设优化

建站网站排行,德州网站建设优化,大气物流网站源码,义乌论坛网站建设之前的beforeUpload直接返回一个false值 ,文件是可以正常与服务端进行传输的 beforeUpload: (file) > {return false},但是这样并不能阻止文件上传,看了官方文档后,改用返回promise对象上传 beforeUpload: (file) > {console.log(-befo…

之前的beforeUpload直接返回一个false值 ,文件是可以正常与服务端进行传输的

beforeUpload: (file) => {return false},

在这里插入图片描述

但是这样并不能阻止文件上传,看了官方文档后,改用返回promise对象上传

 beforeUpload: (file) => {console.log('-beforeUploadfile========', file)return new Promise(async (resolve, reject) => {importExcel(file).then(res => {let list = res[0].data // 去除表头list.splice(0, 1)list.splice(list.length - 1, 1)let reslist = _.cloneDeep(list)reslist.forEach((item, index) => {// 如果数据中有空字段,删除此条数据item.forEach(eItem => {if (!eItem.cont) { // 如果三项中一其值为空即删除// reslist.splice(index, 1)result = false}})})// 如果数据已有此条数据,删除此条数据let arr = changeplan.permatmac.person;arr.forEach((item) => {for (let i = reslist.length - 1; i >= 0; i--) {const ele = reslist[i]if (item.name === ele[0].cont) {// reslist.splice(i, 1);result = false}}})if (!result) {message.warning('导入文件不合法!可能包含空白字段与重复数据!')return false}resolve();return true;})})// return false},

我们发现 ,现在可以阻止上传了,但是传给服务端的文件不是二进制的,而变成了一个object,所以报错了

在这里插入图片描述
在这里插入图片描述

然后尝试把这个object转换成二进制流,发现依然报错

      let formData = toformdata({file: new Blob([JSON.stringify(fileList[0])])});

在这里插入图片描述

再后来又仔细阅读了文档 ,发现了这段,于是尝试在resolve时把对象返回去,依然报错……


resolve(file)

在这里插入图片描述

再看到最后,一开始没理解 这个originFileObj是啥,打印了一下info.file.originFileObj,发现这就是我们想要的那个file文件
在这里插入图片描述

    onChange: (file) => {console.log('onChange-file', file)// console.log('file.file.originFileObj', file.file.originFileObj)setfileList([file.file]); // 这是beforeUpload返回false值时所用到的赋值console.log('onchenage', fileList)},

所以我们直接把info.file.originFileObj赋值给filelist就好了……

    onChange: (file) => {console.log('onChange-file', file)console.log('file.file.originFileObj', file.file.originFileObj)setfileList([file.file.originFileObj]);console.log('onchenage', fileList)},

真无语,一个版本问题,解决了一上午,尝试各种办法,结果人家文档里写了……

贴一下完整代码吧哈哈哈哈

const uploadprops = {multiple: false,accept: '.xlsx',onChange: (file) => {console.log('onChange-file', file)console.log('file.file.originFileObj', file.file.originFileObj)setfileList([file.file.originFileObj]);console.log('onchenage', fileList)},onRemove: (file) => {const index = fileList.indexOf(file);const newFileList = fileList.slice();newFileList.splice(index, 1);setfileList(newFileList);},beforeUpload: (file) => {console.log('-beforeUploadfile========', file)return new Promise(async (resolve, reject) => {importExcel(file).then(res => {let list = res[0].data // 去除表头list.splice(0, 1)list.splice(list.length - 1, 1)let reslist = _.cloneDeep(list)reslist.forEach((item, index) => {// 如果数据中有空字段,删除此条数据item.forEach(eItem => {if (!eItem.cont) { // 如果三项中一其值为空即删除// reslist.splice(index, 1)result = false}})})// 如果数据已有此条数据,删除此条数据let arr = changeplan.permatmac.person;arr.forEach((item) => {for (let i = reslist.length - 1; i >= 0; i--) {const ele = reslist[i]if (item.name === ele[0].cont) {// reslist.splice(i, 1);result = false}}})if (!result) {message.warning('导入文件不合法!可能包含空白字段与重复数据!')return false}resolve();return true;})})// return false},fileList,}; // 上传组件的配置参数
http://www.dinnco.com/news/8407.html

相关文章:

  • 登录网站显示系统维护怎么做网络营销的职能是什么
  • 网站推广工作如何做太原企业网站建设
  • 做内贸什么网站资源比较多网络营销五个主要手段
  • 中国建设网官方网站济宁国泰可以商用的电视app永久软件
  • 做体育直播网站百度一下百度首页登录
  • 日照网站搜索引擎优化seo快速排名上首页
  • wordpress百度经验南昌seo报价
  • 建设网站目录宁波seo优化项目
  • 怎样免费做网站湖北短视频seo营销
  • 保定企业网站建设宁波seo推广费用
  • 全球网购网站十大排名外贸推广如何做
  • 申请建设部门网站的报告十大网络舆情案例
  • 宁波优化seoseo视频网页入口网站推广
  • 网站二级菜单是什么原因百度账号
  • 公司建立网站的作用有seo交流群
  • 站长平台怎么做网站培训学校招生营销方案
  • 攻击自己做的网站模板之家官网
  • 国内优秀企业网站设计欣赏编程培训班学费一般多少钱
  • 网站开发是自己开发还是外包的商品推广软文写作500字
  • 有什么网站可以做任务赚钱长沙网络推广
  • 玉林做网站某网站搜索引擎优化
  • 在网站建设中什么用于搭建页面结构域名服务器地址查询
  • 上海网站建设公司服务南昌seo排名
  • 网站3级营销是怎么做的培训机构是干什么的
  • 做的网站访问不了大专网络营销专业好不好
  • 成都网站设计服务网球新闻最新消息
  • 珠江网站建设网站推广seo设置
  • 公司网站开发有哪些北京seo公司助力网络营销
  • 网站建设亿玛酷正规seo交流博客
  • 合肥网站建设公司 推荐长尾关键词挖掘