尝试通过restwebservice将base64映像发送到服务器。问题是我没有在logcat中得到任何错误而且它没有命中服务器。服务器网址是正确的。我使用webapp测试服务工作正常。但在phonegap它的问题
function Test(){ 警报(imgByte);
/**imgByte is in base64 format -->pic.src = "data:image/png;base64," + imageURI;
imgByte = pic.src;*/
$.ajax({
type : "POST",
url : IMGURL,
data : {
image : imgByte
},
delay : 3,
dataType : "text",
cache : false,
error : function(xhr, ajaxOptions, thrownError) {
debugger;
},
success : function(response, status, xhr) {
alert("haiSuccess1");
response = xhr.responseText;
var responseArray = JSON.parse(response);
if (responseArray.status == "success") {
alert("haiSuccess");
}
}
});
}
答案 0 :(得分:1)
因为您使用的是Phonegap,所以跨域调用应该不是问题。
这是我在我的一个例子中使用的工作代码。
Javascript:
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:
<?php
if ($_REQUEST['image']) {
// convert the image data from base64
$imgData = base64_decode($_REQUEST['image']);
// rest of the code
}
?>
但我的猜测是你收到此错误:错误414(Request-URI太大)。你正试图发送到大图。要将较低的图像质量固定到最低点并尝试发送它。如果它正常工作,那么这就是你的问题。
答案 1 :(得分:0)
它不是Phonegap问题。默认情况下,您的Web服务器(在服务器上运行的服务器端代码),它们将传入数据大小(不是文件大小)限制为某个固定大小。你应该增加以使其发挥作用。