AI识别(Springboot+AI)二

案例已经开源:点击打开链接

如有疑问加 QQ群联系我:278947305 

继上篇说文字识别使用网络图片 这里讲使用本地图片

	/**
	 * 文件上传解析
	 * @methodsDescription:
	 * @methodName: rec
	 * @param file
	 * @return
	 * @author: singleton-zw
	 * @return: R
	 */
	@RequestMapping(value="/recognLocal" ,method = {RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public R rec(@RequestParam("file") MultipartFile file){
		if (file.isEmpty()) {
			return R.ok().put("orc","文件不能为空");
		}
		String path = orc.getUpladfile()+file.getOriginalFilename();
		String relst = "";
		try {
            // 这里只是简单例子,文件直接输出到项目路径下。
            // 实际项目中,文件需要输出到指定位置,需要在增加代码处理。
            // 还有关于文件格式限制、文件大小限制,详见:中配置。
            BufferedOutputStream out = new BufferedOutputStream(
                    new FileOutputStream(path));
            out.write(file.getBytes());
            out.flush();
            out.close();
            
            byte[] imgData = FileUtil.readFileByBytes(path);
            String imgStr = Base64Util.encode(imgData);
            relst = URLEncoder.encode("image", "UTF-8") + "="    + URLEncoder.encode(imgStr, "UTF-8");
            
          /**
          * 线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
          */
         String accessToken = AccessToken.getAuth(orc.getOcrClientId(),orc.getOcrClientSecret());
         String result = HttpUtil.post(ConfigURL.OrcUrl, accessToken, relst);
         Result fromJson = GsonUtils.fromJson(result, Result.class); 
         List<Result.Word> data = fromJson.getWords_result();
         String w = "";
         for (Result.Word word : data) {
				w += word.getWords()+"<br>";
			}
         return R.ok().put("orc", w);
        } catch (Exception e) {
            e.printStackTrace();
        }
		return R.ok().put("orc", "失败");
	}
	

在页面中处理文件上传

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script src="static/js/ajaxupload.js"></script>
</head>
<body>
	<div align="center">
		<h1>AI文字解析解析</h1>
		<hr>
		<form name="upform" action="" id="myForm">
			<input type="button" value="上传文件解析" id="upload" /><br />
			<hr>
			<br> 输入图片URL地址:<input type="text" name="urlNet" id="urlNet"
				size="100""> <br>
			<br> <input type="button" value="网络图片解析" id="url" /><br />
		</form>
		<div id="tip"></div>
	</div>
</body>
<script type="text/javascript" src="static/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript">  
new AjaxUpload('#upload', {
    action: 'ai/recognLocal',
    name: 'file',
    autoSubmit:true,
    responseType:"json",
    onSubmit:function(file, extension){
    },
    onComplete : function(file, r){
        if(r.code == 0){
        	document.getElementById("tip").innerHTML= r.orc
        	
        }else{
        	document.getElementById("tip").innerHTML="解析失败"
        }
    }
});

$("#url").click(function () {
    $.ajax({  
            type: "POST",   //提交的方法
            url:"/ai/recognNet", //提交的地址  
            data:$('#myForm').serialize(),// 序列化表单值  
            async: false,  
            error: function(request) {  //失败的话
            	document.getElementById("tip").innerHTML="解析失败"
            },  
            success: function(data) {  //成功
            	$("#tip").html(data.orc);
            }  
         });
       }); 
</script>
</html>

具体代码看案例吧

AI识别(Springboot+AI)一 点击打开链接

猜你喜欢

转载自blog.csdn.net/u010982856/article/details/80564838
AI