栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过.ajax以base64编码发布图像?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过.ajax以base64编码发布图像?

感谢所有帮助我前进的答案。

我也已在 https://social.msdn.microsoft.com/Forums/en-
US/807ee18d-45e5-410b-a339-c8dcb3bfa25b/testing-project-oxford-ocr-how-to-
例如,在base64中使用一个本地文件?forum =
mlapi


(更多特定于牛津大学的项目),在他们的答案和您的答案之间,我有解决方案。

  1. 您需要发送一个Blob
  2. 您需要在.ajax调用中设置
    processdata:false
    contentType: 'application/octet-stream'
    选项

所以我的解决方案看起来像这样

首先是制作斑点的功能(从比我更有天赋的人逐字复制)

makeblob = function (dataURL) { var base64_MARKER = ';base64,'; if (dataURL.indexOf(base64_MARKER) == -1) {     var parts = dataURL.split(',');     var contentType = parts[0].split(':')[1];     var raw = depreURIComponent(parts[1]);     return new Blob([raw], { type: contentType }); } var parts = dataURL.split(base64_MARKER); var contentType = parts[0].split(':')[1]; var raw = window.atob(parts[1]); var rawLength = raw.length; var uInt8Array = new Uint8Array(rawLength); for (var i = 0; i < rawLength; ++i) {     uInt8Array[i] = raw.charCodeAt(i); } return new Blob([uInt8Array], { type: contentType });        }

然后

$.ajax({    url: 'https://api.projectoxford.ai/vision/v1/ocr?' + $.param(params),    type: 'POST',    processdata: false,    contentType: 'application/octet-stream',    data: makeblob('data:image/jpeg;base64,9j/4AAQSkZJRgA..........gAooooAKKKKACiiigD//Z' }).done(function(data) {alert("success");}).fail(function() {alert("error");});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号