在期望文件对象的 c# 中调用 REST API

Invocation of REST API in c# that is expecting File object

我们的应用程序有一个 WEB GUI,它有一个界面来接受本地文件位置和名称。我们编写了一个 C# 控制器,它在单击提交按钮时被调用。控制器接收文件作为 HttpPostedFileBase。从控制器中,我们试图在 C# 中调用 REST API,它期望 File 对象作为请求,但我们无法这样做。请求期望文件并且请求参数是表单数据类型。编写 C# REST API 客户端以通过传递文件调用此 REST 服务的任何帮助。

下面是我的模型代码: PoSPRegistration model

在上面的代码中,图像是在 HttpPostedFileBase 对象中接收的。

下面是控制器代码: controller post method

无法在 request.addfile 方法中添加图像对象,因为它包含名称和文件路径

RestSharp 中的 RestRequest class 有一个 AddFile 方法的重载,该方法接受调用以将数据写入 Stream 对象的回调:

AddFile(string name, 
        Action<Stream> writer, 
        string fileName, 
        long contentLength, 
        string contentType = null)

您可以像这样使用它来 post 来自 HttpPostedFileBase 的数据:

request.AddFile("pan", 
                stream => objmodel.doc_pan.InputStream.CopyTo(stream), 
                objmodel.doc_pan.FileName, 
                objmodel.doc_pan.ContentLength, 
                objmodel.doc_pan.ContentType);