组件实现了HTTP中完整的POST数据处理协议,所以是完全支持针对文件提交的表单处理。在应用中组件可以通过两种方式进行文件上传,一种是基于multipart/form-data传统数据提交,别一种则是通过Put整个Http body数据流;前者可以实现多个文件同时提交,后者则可以只能单一文件Put.
Post提交
组件支持传统multipart/form-data多文件上传功能,可以通过IHttpContext.Request.Files属性获取当前上传的文件信息。
public object Upload(BeetleX.FastHttpApi.IHttpContext context){
foreach (var file in context.Request.Files) using (System.IO.Stream stream = System.IO.File.Create(file.FileName)) {
file.Data.CopyTo(stream); stream.Flush(); } return from a in context.Request.Files select new { a.FileName, a.Data.Length };}
对应的javascript示例代码如下:
onSelectFile: function (e) {
var param = new FormDa