我有一些JavaScript代码可将图像上传到服务器。下面是可以正常工作的ajax调用。
$.ajax({
url: 'https://api.projectoxford.ai/vision/v1/analyses?',
type: 'POST',
contentType: 'application/json',
data: '{ "Url": "http://images.takungpao.com/2012/1115/20121115073901672.jpg" }',
})
我现在需要将图像上传为base64编码,例如
data: 'data:image/jpeg;base64,/9j/4AAQSkZJRgA..........gAooooAKKKKACiiigD//Z'
但这是行不通的,即服务器无法识别我发送和抱怨的数据。
有谁知道在AJAX调用中发送base64编码数据的正确格式是什么?
感谢所有帮助我前进的答案。
我也已在 https://social.msdn.microsoft.com/Forums/en-
US/807ee18d-45e5-410b-a339-c8dcb3bfa25b/testing-project-oxford-ocr-how-to-
例如,在base64中使用一个本地文件?forum =
mlapi
(更多特定于牛津大学的项目),在他们的答案和您的答案之间,我有解决方案。
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 = decodeURIComponent(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");});
我需要用电子邮件和密码提出请求。电子邮件和密码是发送到我的存储库类的字符串。密码需要用Base64编码。 我正在使用改装2。 我知道我需要使用类,但是我怎么才能发出请求呢? 这是来自 Rest 接口的代码: 在存储库中,我用这个对密码进行编码: 但是我需要用email和encodedPassword变量初始化requestBody来发出请求。 这真的是正确的方法吗? requestBody属性是如
我有一个来自服务器的bas64编码图像,我想通过JavaScript强制下载。有可能吗?
问题内容: 我正在为Firefox / IE构建一个开放式搜索附加组件,并且该图像需要经过Base64编码,因此如何对我拥有的收藏夹图标进行64位编码? 我只熟悉PHP 问题答案: 据我记得,图像数据有一个xml元素。您可以使用此网站对文件进行编码(使用上载字段)。然后,只需将数据复制并粘贴到XML元素即可。 您也可以这样使用PHP来做到这一点: 使用Mozilla指南获取有关创建OpenSear
我正在使用Html5、Java脚本、ajax和Java。我正在上传一个图像从桌面到作物,作物后,它是显示在同一页的引导模式。但是我没有得到这个图像的URL,我得到了一些Base64代码,当我发送这个Base64代码时,它没有工作。 我看到了这篇文章,但我没有从这个链接中得到任何解决方案:https://stackoverflow.com/ 此代码为静态图像,首次显示. 我将result.ToDat
问题内容: 我一直在使用Serialize()将复选框形式的数据与Post()传递给可以容纳多个相同类别项目的购物篮。 当我使用“提交”按钮发布它们时,它可以很好地工作,并且可以将多个值传递并显示在一个类别下。 但是,当我使用Jquery serialize()时,每个类别仅显示一个项目,而总共仅显示两个类别。这是一个阵列问题,但我无法解决。 我应该使用替代的JQuery函数来传递多维数组吗? 问
问题内容: 我正在通过ajax将Image base64数据传递给我的php函数,但是对于大尺寸图像,Ajax不会发布数据。但是,相同的代码对于小图像非常适用。 数据太大,因此部分发布了, ajax PHP 当我尝试获取php中的发布数据时,我越来越空了。使用base64时,ajax不发送数据的原因可能是什么? 问题答案: 我同意TrueBlueAussie的观点。这看起来像PHP中的服务器端设置