0

ファイルシステムに画像をローカルに保存して、qrコードをデコードしようとしています。これを行うために、HTML5/Javascript を使用して Windows 8 メトロ アプリを作成しようとしています。コードを生成できましたが、デコードに問題があります。

私はこれらの前のスレッドを参照しました

Windows 8 Metro アプリ用の QR コード リーダー ライブラリを知っている人はいますか?

Windows ストア アプリの QR コード

その後、esponce Web サービスを使用して、本体に画像データを含むhttp://www.esponce.com/api/v3/decode?format=pngへの単純な HTTP-POST 要求を作成しましたが、404 のために応答は空でしたエラーのため、コンテンツが返されませんでした。これは私が同じことを試したスニペットです:

var picDiv = document.getElementById("picDiv");
var picturesLibrary = Windows.Storage.KnownFolders.picturesLibrary;

picturesLibrary.getFileAsync("code.bmp").then(
    function completeFile(file) {
    return file.openAsync(Windows.Storage.FileAccessMode.readWrite);
    xhrDiv.innerText = "File Opened";
}).then(
    function completeStream(stream) {
        // Do processing. 
            var blob = MSApp.createBlobFromRandomAccessStream("image/bmp", stream);
            xhrDiv1.innerText = stream;
     return WinJS.xhr({ type: "POST", url:"http://www.esponce.com/api/v3/decode>", data: blob });
}).then(
    function (request) {
        picDiv.textContent = "uploaded file";
        picDiv.innerText = request.statusText;
        picDiv.innerText = request.status;

      }, 
    function (request) {
        picDiv.textContent = "error uploading file";
        picDiv.innerText = request.statusText;
    //    picDiv.innerText = request.statusText;
      //  picDiv.innerText = request.status;


    });

上記のアプローチの何が問題なのかを理解するのを手伝ってください。

4

1 に答える 1

0

エラー 404 は、URL が存在しない場合にのみ発生します。それ以外の場合は、別のエラー コードが存在するはずです。問題は、応答 HTTP ヘッダーX-Api-Errorを調べることで診断できます。

最初に、URL 文字列から「> 」文字を削除し、念のためフォーマットパラメータを追加します。

return WinJS.xhr({ type: "POST", url:"http://www.esponce.com/api/v3/decode?format=png", data: blob });

次に、BMP が機能しない場合は、PNG 画像をアップロードしてみてください。MIME タイプはimage/pngに設定する必要があります。

または、 NuGetから Esponce API ライブラリを試すこともできます

于 2013-01-07T20:48:29.520 に答える