Jquery 将base64映像发送到phonegap中的服务器
正在尝试通过restwebservice将base64映像发送到服务器。问题是我并没有在logcat中得到任何错误,它并没有击中服务器。服务器url是正确的。我用webapp测试了这项服务,它运行良好。但在电话鸿沟问题上 功能测试(){ 警报(imgByte)Jquery 将base64映像发送到phonegap中的服务器,jquery,jquery-mobile,base64,cordova,Jquery,Jquery Mobile,Base64,Cordova,正在尝试通过restwebservice将base64映像发送到服务器。问题是我并没有在logcat中得到任何错误,它并没有击中服务器。服务器url是正确的。我用webapp测试了这项服务,它运行良好。但在电话鸿沟问题上 功能测试(){ 警报(imgByte) 因为您使用的是Phonegap,所以跨域呼叫应该不是问题 你的照片拍成功了吗?你能看到吗 检查您是否正在服务器端接收数据 如果第1点出现问题,请检查是否可以向服务器发送任何REST请求 检查您是否有足够的权限从移动应用程序访问互联网 这是
因为您使用的是Phonegap,所以跨域呼叫应该不是问题
navigator.camera.getPicture(success, fail, {quality: 45, sourceType: src});
function success(imageData) {
var url = some_location;
var params = {image: imageData};
// send the data
$.post(url, params, function(data) {
alert('sent');
// Display the selected image on send complete
$('#image').attr('src', 'data:image/jpeg;base64,' + params['image']);
});
}
function fail(error) {
alert(error);
}
PHP:
但我猜您正在收到此错误:错误414(请求URI太大)。您正在尝试发送大图片。若要将此较低的图片质量修复到最低点并尝试发送它,请尝试发送。如果它工作正常,则这是您的问题。这不是电话间隙问题。默认情况下,您的Web服务器(服务器端代码在服务器上运行),它们限制了传入数据的大小(而不是文件大小)到某个固定大小。您应该增加以使其正常工作。您是否尝试过在浏览器或类似Ripple的东西中复制此问题?@KevinBoyle我没有遇到任何类型的解析问题。。但问题是函数不会进入成功状态。我检查了日志cat no Error您能否确认请求正在到达您的服务器?
navigator.camera.getPicture(success, fail, {quality: 45, sourceType: src});
function success(imageData) {
var url = some_location;
var params = {image: imageData};
// send the data
$.post(url, params, function(data) {
alert('sent');
// Display the selected image on send complete
$('#image').attr('src', 'data:image/jpeg;base64,' + params['image']);
});
}
function fail(error) {
alert(error);
}
<?php
if ($_REQUEST['image']) {
// convert the image data from base64
$imgData = base64_decode($_REQUEST['image']);
// rest of the code
}
?>