我第一次嘗試WP7中的PhoneGap/Cordova 2.1.0,所以我是新手。WP7 - PhoneGap FileTransfer返回空錯誤代碼
我應該做的是通過相機拍攝照片並上傳到服務器。
這是我的代碼:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<title>PhoneGap WP7</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() { }
function capturePhoto()
{
// Take picture using device camera and retrieve image
navigator.camera.getPicture(
onPhotoDataSuccess,
onFail,
{
quality: 50,
destinationType: Camera.DestinationType.DATA_URL
}
);
}
function onPhotoDataSuccess(imageData)
{
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = imageData.substr(imageData.lastIndexOf('/') + 1);
options.mimeType="image/jpeg";
var params = new Object();
options.params = params;
var ft = new FileTransfer();
ft.upload(imageData, "http://mysite.com/upload.php", win, fail, options);
}
function onFail(message)
{
navigator.notification.alert('Failed because: ' + message);
}
var win = function(r)
{
navigator.notification.alert(r.responseCode + " - " + r.response + " - " + r.bytesSent);
}
var fail = function(error)
{
navigator.notification.alert(eval(error));
}
</script>
</head>
<body>
<h1>PhoneGap Photo Demo</h1>
<button onclick="capturePhoto();">Capture a Photo</button>
</body>
</html>
當我嘗試這個,上傳不工作,我得到一個空的錯誤對象:
{ "code":null, "source":null, "target":null, "http_status":null }
一些注意事項:
我其次是this trick在WP7中缺少白名單。
php代碼不是由我寫的,我會在asp.net中完成,如果有人能夠提供一個工作示例與asp.net webservice將非常感激。
謝謝。
編輯
我調試文件傳輸類和我在JsonHelper類錯誤:
using (MemoryStream mem = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
result = deserializer.ReadObject(mem);
}
的錯誤是:InvalidCastException的
我按照你的建議,並在JsonHelper的反序列化選項中出現錯誤。有什麼建議麼? – opaera
@opaera,請參閱更新回答 –
我會盡快嘗試。現在我用Cordova lib版本1.7.0解決了這個問題。我也使用PhoneGap Build來創建Android應用程序,但它不工作,它似乎從未初始化。你對此有何看法?非常感謝你。 – opaera