0

カメラとギャラリーからファイルをアップロードする際に問題が発生しています。

ギャラリーからいくつかの画像を選択すると、画像を WCF サービスに正常にアップロードできます。したがって、WCF サービスは正常に動作しており、ファイルをアップロードするコードも同じコードで、エミュレートされた Web カメラでも動作します。

ただし、ギャラリーからいくつかの画像を選択すると、*エラーコード*が表示されます

java.io.FileNotFoundException: http://www.foobar.com/sasas

JavaScript コード

function selectImageFromCamera(){       
     var popover = new CameraPopoverOptions(300,300,100,100,Camera.PopoverArrowDirection.ARROW_ANY);
     var options = { quality: 49, destinationType: Camera.DestinationType.FILE_URI,sourceType: Camera.PictureSourceType.CAMERA, popoverOptions : popover};           
     navigator.camera.getPicture(this.uploadPhoto, this.onFail, options);
}

function selectImageFromGallery(){
    var popover = new CameraPopoverOptions(300,300,100,100,Camera.PopoverArrowDirection.ARROW_ANY);
    var options = { quality: 49, destinationType: Camera.DestinationType.FILE_URI,sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY, popoverOptions : popover};            
    navigator.camera.getPicture(this.uploadPhoto, this.onFail, options);
}

function uploadPhoto(imageURI) {
    var serverUrl = "http://www.foobar.com/safafa";
    var image = document.getElementById("imgUpload");
    image.style.display = "block";
    image.src = imageURI;

    var fileUploadOptions = new FileUploadOptions();
    fileUploadOptions.fileKey="file";
    fileUploadOptions.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
    fileUploadOptions.mimeType="image/png";
    fileUploadOptions.chunkedMode=true;

    var ft = new FileTransfer();
    ft.upload(imageURI, serverUrl, this.win, this.fail, fileUploadOptions);
}

私が間違っていることを特定するのを手伝ってください。

4

2 に答える 2

1

これは私にとってはうまくいきました。

問題は WCF サービスにありました。受け入れられるファイルは 65 KB 未満です。これは、maxReceivedMessageSize値を増やす問題が解決された後のデフォルトの最大要求サイズです。

<standardEndpoint name="" 
    helpEnabled="true" 
    automaticFormatSelectionEnabled="true" 
    maxBufferSize="2147483647" 
    maxReceivedMessageSize="2147483647"> 
</standardEndpoint> 
于 2013-06-27T08:02:31.573 に答える