1

アプリで画像データをbase64として.netWebサービスに送信し、画像に変換してサーバーに保存しようとしています。

これは、小さな10px x 10pxの画像では問題なく機能しますが、それ以外の場合は、サーバーからの要求応答が正しくありません。これが私のコードです。postValueも機能させることができないので、私はxmlとしてそれを行っています。

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

[reqstring setString:@"<Files xmlns=\"http://schemas.datacontract.org/2004/07/FileUpload\">"];
[reqstring appendString:@"<filename>"];
[reqstring appendString:@"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI"];
[reqstring appendString:@"</filename></Files>"];

[request appendPostData:[reqstring dataUsingEncoding:NSUTF8StringEncoding]];

[request setValidatesSecureCertificate:NO];
[request addRequestHeader:@"Content-Type" value:@"text/xml"];

[request setDelegate:self];

[request setDidFinishSelector:@selector(requestUploadFinished:)];
[request setDidFailSelector:@selector(requestUploadFailed:)];
[request startSynchronous];

この方法で送信できるもの、または変更が必要なサーバー上のものに制限はありますか?

この種のことに関する良いチュートリアルはありますか?

どんな助けでも大歓迎です

4

1 に答える 1

0

最終的にこれを解決することができました。要求で xml 制限に達していました。

サーバー上で web.config を修正する必要がありました。バインディング タイプを webHttpBinding に設定し、readerQuotas を追加して解決しました。

<readerQuotas maxDepth="3200" maxStringContentLength="2147483647" maxArrayLength="16384"
    maxBytesPerRead="4096" maxNameTableCharCount="16384" />

サービスでトレースを使用すると、これに大いに役立ちました。

<system.diagnostics>
  <sources>
        <source name="System.ServiceModel" 
                switchValue="Information, ActivityTracing"
                propagateActivity="true">
          <listeners>
           <add name="traceListener" 
               type="System.Diagnostics.XmlWriterTraceListener" 
               initializeData= "C:\Traces.svclog" />
          </listeners>
       </source>
  </sources>

于 2013-01-30T17:08:47.063 に答える