我正在构建数字标牌应用程序,我需要允许我的用户上传大型图片/视频。我已经看过流模式,允许上传和下载文件,这似乎是要走的路。我的问题是,我需要弄清楚正确的上传方法。我需要在我的数据库中输入一个条目,然后将文件上传到服务器上的特定文件夹(每个客户都有自己的文件夹,需要放置文件)。我的问题是,与上传流相比,似乎无法与文件一起发送更多信息。我需要的只是一些元数据,文件名和客户ID。任何人都有这方面的实例,或指出我正确的方向......
此致 /布赖恩
答案 0 :(得分:1)
嗯,你不是说你尝试了什么以及它是如何失败的,但这里是我们如何做的基本概述:
[ServiceContract]
public interface IMyStreamingService
{
[OperationContract]
void Upload(FileUploadRequest request);
}
[MessageContract]
public class FileUploadRequest
{
[MessageHeader(MustUnderstand = true)]
public string Path;
[MessageBodyMember(Order = 1)]
public Stream FileData;
public FileUploadRequest(string path, Stream fileData)
{
this.Path = path;
this.FileData = fileData;
}
}
答案 1 :(得分:0)
我几天前回答过类似的question。您必须声明接受并返回消息合同的操作。您必须创建消息合同。对于流合同,只能包含Stream类型的单体成员。其他合同成员必须声明为标题。链接问题包含下载的完整示例。您只需要为上传做同样的事情。