1.前台程序:

<template>

<div>

<van-uploader :after-read="afterRead" upload-text="疫苗接种图片" />

<br />

{{ info }}

</div>

</template>

<script>

import axios from 'axios'

import { Toast } from 'vant';

import { ref } from 'vue'

export default {

setup() {

let info = ref("")

const afterRead = (file) => {

// 此时可以自行将文件上传至服务器

// let photos = []

// that.fileList.forEach(v => {

//     let o = {

//         base64Str: v.content,

//         filename: v.file.name

//     }

//     photos.push(o)

// })

// axios.request({

//     url: '/x/xxx/api',

//     data: {

//         photos: photos

//     },

//     method: 'POST'

// })

// this.axios.post(this.$config.uploadImg,forms ,configs).then(res=>{

//  console.log(res)

// })

let forms = new FormData()

forms.append("file", file.file)

let newAxios = axios.create({

headers: { 'Content-Type': 'multipart/form-data;charset=utf-8' }

})

newAxios.defaults.transformRequest = [function (data, config) {

switch (config['Content-Type'].toLowerCase()) {

case 'multipart/form-data;charset=utf-8': {

return data

}

}

}]

// axios.post('http://127.0.0.1:8080/te/submit', forms, configs).then(res => {

//     console.log(res)

// }).catch((err) => { console.log(err) })

newAxios({

url: "api/te/submit",

method: "post",

data: forms,

headers: { 'Content-Type': 'multipart/form-data;charset=utf-8' }

}).then((res) => {

info.value = res.data

console.log(info.value)

}).catch((err) => {

console.log(err)

})

// console.log(file.raw);

};

// 返回布尔值

const beforeRead = (file) => {

if (file.type !== 'image/jpeg') {

Toast('请上传 jpg 格式图片');

return false;

} else {

Toast("hello world")

}

return true;

};

return {

afterRead,

beforeRead,

info

};

},

};

</script>

<style>

</style>

2.后台springboot

 @PostMapping(value = "/submit", consumes = { "multipart/form-data;charset=utf-8" })public String upload(@RequestParam("file") MultipartFile file)  {try {String uuid = UUIDUtil.getUUID();String oldName= file.getOriginalFilename();int i = oldName.lastIndexOf(".");String suffix = oldName.substring(i);System.out.println("suffix: " + suffix);file.transferTo(new File("I:\\"+uuid+suffix));// 进行文字识别String result = recognize("I:\\"+uuid+suffix).replace(" ","");String msg="";String[] strings = result.split("\n");for (String str:strings) {
//                System.out.println(str);if(str.contains("姓名")){System.out.println(str.replace("姓名",""));msg=msg+str.replace("姓名","");}else if(str.contains("新冠疫苗第")){System.out.println(str.replace("新冠疫苗第",""));msg=msg+str.replace("姓名","");}else if(str.contains("身") && str.contains("号")){System.out.println(str);}else if(str.contains("已完成")){System.out.println(str);}}return msg;} catch (IOException e) {System.out.println("上传失败");e.printStackTrace();}System.out.println("上传完成");return "";}private String recognize(String path) {
//        String path = "C:\\Users\\Tang\\Desktop\\图片\\其他图片2.png";// 语言库位置(修改为跟自己语言库文件夹的路径)String lagnguagePath = "D:\\tessdata";File file = new File(path);ITesseract instance = new Tesseract();//设置训练库的位置instance.setDatapath(lagnguagePath);//chi_sim :简体中文, eng    根据需求选择语言库instance.setLanguage("chi_sim");String result = null;try {long startTime = System.currentTimeMillis();result =  instance.doOCR(file);long endTime = System.currentTimeMillis();System.out.println("Time is:" + (endTime - startTime) + " 毫秒");} catch (TesseractException e) {e.printStackTrace();}//        System.out.println("result: ");
//        System.out.println(result);return  result;}

3.maven

<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.5.2</version>
</dependency>

4.语言包下载

mirrors / tesseract-ocr / tessdata · GitCodeTrained models with support for legacy and LSTM OCR engine

vantui上传图片相关推荐

  1. 移动端手机h5上传图片旋转90度

    移动端手机h5上传图片会旋转90度的问题 h5页面调用相机正常情况下都是正常的,但是有些手机横着照相的时候就会正常的,iphone正确的拍照方式是横屏的,而用户往往是竖屏拍照上传的,就相当于照相机反转 ...

  2. Django 上传图片和Admin站点5.2

    上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...

  3. tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied

    做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...

  4. 上传图片配置控制大小_esp32-cam拍照上传云平台,http协议传输

    1.ESP32-cam开发环境配置 本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转 安装好esp32 环境,开发板选择esp32 ...

  5. android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法

    本文实例讲述了Android使用post方式上传图片到服务器的方法.分享给大家供大家参考,具体如下: /** * 上传文件到服务器类 * * @author tom */ public class U ...

  6. php删除上传图片,PHP上传图片、删除图片的简单示例代码

    本节内容: PHP上传图片.删除图片 1,php上传图片: 复制代码 代码示例: if (!empty($_FILES["img"]["name"])) { / ...

  7. 上传图片,要求图片200100象素,大小小于2M

    作者:网际浪子专栏(曾用名littlehb)  http://blog.csdn.net/littlehb/ 上传图片,要求图片200100象素,大小小于2M, 如果图片不符合要求,不能上传,否则上传 ...

  8. php上传图片 $__files没有信息_Python接口测试文件上传实例解析

    接口测试中,上传文件的测试场景非常常见.例如:上传头像(图片).上传文件.上传视频等.下面以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口. 首先通过抓包分析上传文件接口的请求参 ...

  9. java flex 图片上传_flex上传图片到java服务器

    今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...

最新文章

  1. 用Macbook-苹果系统写代码出现显示问题Text input context does not respond to _valueForTIProperty:
  2. setTimeOut() 和 setTimeInterval()
  3. 解读main()方法中的String[] args
  4. 第六章-Hadoop优化与发展
  5. python numpy数组中冒号 : 的使用--全局选择、表示区间
  6. POJ-1087 A Plug for UNIX 网络流
  7. 一个段子教你如何认识大数据
  8. MyBatis源码阅读(四) --- SqlSession的创建过程
  9. 百度网盘怎么登录百度账号?
  10. 【寒江雪】Unity中调用C++的函数和类
  11. java 读取文件inputstream_使用FileInputStream读取本地文件
  12. Oracle安装和配置
  13. YOLO—V1细节分析
  14. 完美解决迅雷极速版强制升级到迅雷X
  15. 别让房子升值迷惑,特别是公寓
  16. SparkSQL之UDF、UDAF、UDTF
  17. 揭秘《超能陆战队》诞生记
  18. 华为某高管工资曝光:每月高达27万,众网友表示长了见识
  19. 关联规则算法怎么实现?Python代码、PowerBI可视化详细解释给你听(下-实战篇)
  20. 计算机专业博士推荐信模板,推荐信模板|推荐信样例(计算机专业)

热门文章

  1. React 中的高阶组件及其应用场景
  2. 设置linux-kali 2022语言为中文(保姆级图文)
  3. 【Python】念数字
  4. 金融科技再次进化 凡普金科眼中的智惠金融究竟什么样?
  5. 网站建设报价为什么差异那么大?
  6. Outlook 如何打开或关闭邮件预览功能
  7. Himall商城信任登录插件接口
  8. urllib库万字详解
  9. 二进制与、或、非、异或运算
  10. LeetCode 31. 下一个排列 Next Permutation