赞
踩
案例已经开源:点击打开链接
如有疑问加 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>
具体代码看案例吧
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。