2017-01-23 7 views
1

私は、データベースと別個のファイルシステムが同じサーバーに格納されており、サービススタックの要求と応答によってアクセスされるプロジェクトに取り組んでいます。応答とファイルをservicestack経由で返します

データベースには、ファイルシステム内の特定のファイルに関連するメタデータが含まれています。これらのファイルとドキュメントを同時に取得して保存して、孤立したデータを防止したいと考えています。

データ(ファイル)のストリームと応答DTOの両方を同じ応答で返すことは可能ですか? JsonServiceClient.PostFileWithRequestと同じように、ファイルと要求DTOの両方をサーバーに渡すことができます。サーバー側とクライアント側の両方で処理する方法があれば可能ですか?

これまでの私の研究では、ほとんどのアプリケーションは応答文書またはストリームのいずれかを返すだけで、ほとんどはHttpResultを使用しています。

ありがとうございます!

答えて

1

MIME Multipart/mixedレスポンスのサポートはありません。これは、主にメール用で、ほとんどサポートされず、HTTP用に使用されています。お使いのファイルのダウンロード応答に追加のメタデータを送信するための最も簡単な方法は、HTTPヘッダーを使用することで、例えば:

return new HttpResult(fileInfo) { 
    Headers = { 
     {"X-key", "value"} 
    } 
}; 

別のオプションは、DTO内のファイルの内容を埋め込むために、次のようになりますについては

class FileResponseWithMetadata 
{ 
    public byte[] Data { get; set; } 
    public string Key { get; set; } 
} 

複数のファイルを返す場合は、DotNetZipのようなライブラリを使用してファイルを圧縮し、代わりにそのファイルを返す必要があります。

+0

ありがとう!試してみてください –

関連する問題