0

.net Web サービス ksoap を使用していますが、応答でバイナリ文字列を取得しています。この文字列を画像に変換し、この画像を ImageView に表示したいと考えています。サーバーから images/doc/pdf を取得しています。

私のコード:

SoapObject DocumentRequest = new SoapObject(NAMESPACE, GET_DOCUMENT_METHOD);

        DocumentRequest.addProperty("DocumentID", ID);
        Log.i("DocumentID", ID);

        SoapSerializationEnvelope Envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        Envelope.dotNet = true;
        Envelope.setOutputSoapObject(DocumentRequest);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        androidHttpTransport.debug = true;

        androidHttpTransport.call(SOAP_ACTION_GETDOCUMENT, Envelope);

        SoapPrimitive DocumentResponse = (SoapPrimitive)Envelope.getResponse();
        Log.i("DocumentResponse", DocumentResponse.toString());

あらゆる種類のファイル image/doc/pdf を表示するには、何を使用すればよいですか。このバイナリ文字列を正しい形式に変換する方法とダウンロードする方法??? 私はとても混乱しています。

//ビットマップは良いアイデアですか?

このコードは、ログのバイナリで応答を返します。これを画像/docファイル/pdfファイルに変換して、ローカルのSDカードにダウンロードしたいです。

POST /**********Mobile/**********.asmx HTTP/1.1
Host: 192.168.1.5
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetDocument"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
xmlns:xsd="http://www.w3.org/2001/XMLSchema"    
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
 <GetDocument xmlns="http://tempuri.org/">
   <DocumentID>string</DocumentID>
 </GetDocument>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <GetDocumentResponse xmlns="http://tempuri.org/">
     <GetDocumentResult>string</GetDocumentResult>
   </GetDocumentResponse>
 </soap:Body>
</soap:Envelope>

よろしくお願いします

4

1 に答える 1

1

理想的には、API を取得して doc/image へのリンクを返し、後でダウンロードできるようにすることができます。

応答にバイナリ データがあると、コードが複雑になるだけでなく、解析も行われます。

更新: バイナリ文字列をファイルに変換するのは、データを読み取ってファイルに書き込むのと同じくらい簡単です。

私は、回答の最初の部分でこのアプローチを使用しないことを提案しました。

于 2013-03-15T10:44:21.110 に答える