vantui上传图片
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上传图片相关推荐
- 移动端手机h5上传图片旋转90度
移动端手机h5上传图片会旋转90度的问题 h5页面调用相机正常情况下都是正常的,但是有些手机横着照相的时候就会正常的,iphone正确的拍照方式是横屏的,而用户往往是竖屏拍照上传的,就相当于照相机反转 ...
- Django 上传图片和Admin站点5.2
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...
- tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied
做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...
- 上传图片配置控制大小_esp32-cam拍照上传云平台,http协议传输
1.ESP32-cam开发环境配置 本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转 安装好esp32 环境,开发板选择esp32 ...
- android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法
本文实例讲述了Android使用post方式上传图片到服务器的方法.分享给大家供大家参考,具体如下: /** * 上传文件到服务器类 * * @author tom */ public class U ...
- php删除上传图片,PHP上传图片、删除图片的简单示例代码
本节内容: PHP上传图片.删除图片 1,php上传图片: 复制代码 代码示例: if (!empty($_FILES["img"]["name"])) { / ...
- 上传图片,要求图片200100象素,大小小于2M
作者:网际浪子专栏(曾用名littlehb) http://blog.csdn.net/littlehb/ 上传图片,要求图片200100象素,大小小于2M, 如果图片不符合要求,不能上传,否则上传 ...
- php上传图片 $__files没有信息_Python接口测试文件上传实例解析
接口测试中,上传文件的测试场景非常常见.例如:上传头像(图片).上传文件.上传视频等.下面以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口. 首先通过抓包分析上传文件接口的请求参 ...
- java flex 图片上传_flex上传图片到java服务器
今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...
最新文章
- 用Macbook-苹果系统写代码出现显示问题Text input context does not respond to _valueForTIProperty:
- setTimeOut() 和 setTimeInterval()
- 解读main()方法中的String[] args
- 第六章-Hadoop优化与发展
- python numpy数组中冒号 : 的使用--全局选择、表示区间
- POJ-1087 A Plug for UNIX 网络流
- 一个段子教你如何认识大数据
- MyBatis源码阅读(四) --- SqlSession的创建过程
- 百度网盘怎么登录百度账号?
- 【寒江雪】Unity中调用C++的函数和类
- java 读取文件inputstream_使用FileInputStream读取本地文件
- Oracle安装和配置
- YOLO—V1细节分析
- 完美解决迅雷极速版强制升级到迅雷X
- 别让房子升值迷惑,特别是公寓
- SparkSQL之UDF、UDAF、UDTF
- 揭秘《超能陆战队》诞生记
- 华为某高管工资曝光:每月高达27万,众网友表示长了见识
- 关联规则算法怎么实现?Python代码、PowerBI可视化详细解释给你听(下-实战篇)
- 计算机专业博士推荐信模板,推荐信模板|推荐信样例(计算机专业)