syntax = "proto3"; package bite_im; import "base.proto"; option cc_generic_services = true; message GetSingleFileReq { string request_id = 1; string file_id = 2; optional string user_id = 3; optional string session_id = 4; } message GetSingleFileRsp { string request_id = 1; bool success = 2; string errmsg = 3; optional FileDownloadData file_data = 4; } message GetMultiFileReq { string request_id = 1; optional string user_id = 2; optional string session_id = 3; repeated string file_id_list = 4; } message GetMultiFileRsp { string request_id = 1; bool success = 2; string errmsg = 3; map file_data = 4;//文件ID与文件数据的映射map } message PutSingleFileReq { string request_id = 1; //请求ID,作为处理流程唯一标识 optional string user_id = 2; optional string session_id = 3; FileUploadData file_data = 4; } message PutSingleFileRsp { string request_id = 1; bool success = 2; string errmsg = 3; FileMessageInfo file_info = 4; //返回了文件组织的元信息 } message PutMultiFileReq { string request_id = 1; optional string user_id = 2; optional string session_id = 3; repeated FileUploadData file_data = 4; } message PutMultiFileRsp { string request_id = 1; bool success = 2; string errmsg = 3; repeated FileMessageInfo file_info = 4; } service FileService { rpc GetSingleFile(GetSingleFileReq) returns (GetSingleFileRsp); rpc GetMultiFile(GetMultiFileReq) returns (GetMultiFileRsp); rpc PutSingleFile(PutSingleFileReq) returns (PutSingleFileRsp); rpc PutMultiFile(PutMultiFileReq) returns (PutMultiFileRsp); }