0

ユーザーがアプリに存在するファイルを同じアプリを介して SharePoint にアップロードできるという要件があります。

シェアポイントのhttp://schemas.microsoft.com/sharepoint/soap/CopyIntoItemsメソッドを使ってみました。ただし、SOAP リクエストのボディに埋め込むには、base64 でエンコードされた形式のファイルが必要です。base64 でエンコードされた文字列で 30 MB のファイルを変換しようとすると、デバイスでコードがクラッシュしましたか? 同じコードがシミュレーターで問題なく実行されました

sharepoint にファイル (ファイル ストリーミングなど) をアップロードする他の方法はありますか? 最大 500 MB のファイルをアップロードする必要がある場合がありますか? 大きなファイルの NSData を base64 でエンコードされた文字列に変換するためのより効率的なライブラリはありますか?

ファイルをチャンクで読み取り、それをbase64でエンコードされた文字列に変換し、完全なファイルが変換されたらファイルをアップロードする必要がありますか? 他のアプローチは?

4

1 に答える 1

1

まず、メモリが不足したためにコードがクラッシュした可能性があります。変換して開いたソケットにプッシュしたチャンクを読み取るループを実行します。これはおそらく、NSURLConnectionよりも低いレベルに移動する必要があることを意味します。私は、NSURLConnectionとチャンクアップロードを検索しようとしましたが、あまり成功しませんでした。

ASIHttpの使用を提案しているようですが、ホームページを見ると開発者によって見捨てられているように見えるので、お勧めできません。

AFNetworkingは非常に見栄えがよく、ブロックがサポートされています。最初のページの例で、AFNetworkingをどのように使用できるかを確認できます。ストリーミングリクエストの例を見てください。基本的に、チャンク化されたデータをプッシュするNSInputStreamを作成し、それをAFHTTPURLConnectionOperationで使用します。

于 2012-07-18T11:41:05.043 に答える