我们正在通过调用其Web服务API方法将图片和视频等媒体类型上传到第三方公司服务器。
他们的Web服务的端点URI类似于以下内容:
POST https://blah.ThirdPartyFirm.com/v2/blahBlah/media
他们需要POST调用。
以下是他们的请求应如何显示:
内容类型:multipart / form-data;边界= AaB03x 内容处理:表格数据; NAME = “file1的”;文件名= “chunky_bacon.png” 内容类型:video / mp4 --AaB03x
... omg_pink_ponies.png的内容...... --AaB03x -
请告诉我如何配置Telerik AsyncUpload Control以将图片或视频文件上传到上述第三方Web服务API。
答案 0 :(得分:0)
完成此任务的最佳方法是将AsyncUpload配置为使用自定义处理程序。 然后,在Handler的Process方法中获得文件数据之后,只需将其发送到Web API服务。
<telerik:RadAsyncUpload
ID="RadAsyncUpload1"
OnClientFileUploadFailed="OnClientFileUploadFailed"
OnClientValidationFailed="OnClientValidationFailed"
HttpHandlerUrl="~/Handler.ashx"
runat="server">
</telerik:RadAsyncUpload>
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using Telerik.Web.UI;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Data.SqlClient;
using System.IO;
public class Handler : AsyncUploadHandler, System.Web.SessionState.IRequiresSessionState
{
protected override IAsyncUploadResult Process(UploadedFile file, HttpContext context, IAsyncUploadConfiguration configuration, string tempFileName)
{
//here send the file to the WebAPI method
//and return custom result to the client
}
}
如果您想知道是否可以在客户端上读取文件对象,那么您应该知道这仅适用于支持HTML5文件API的较新浏览器。