上传控件FineUploader后台获取文件对象实例

public virtual ActionResult AsyncUpload()
{
//we process it distinct ways based on a browser
//find more info here http://stackoverflow.com/questions/4884920/mvc3-valums-ajax-file-upload
Stream stream = null;
var fileName = "";
var contentType = "";
if (String.IsNullOrEmpty(Request["qqfile"]))
{
// IE
HttpPostedFileBase httpPostedFile = Request.Files[0];
if (httpPostedFile == null)
throw new ArgumentException("No file uploaded");
stream = httpPostedFile.InputStream;
fileName = Path.GetFileName(httpPostedFile.FileName);
contentType = httpPostedFile.ContentType;
}
else
{
//Webkit, Mozilla
stream = Request.InputStream;
fileName = Request["qqfile"];
}

var fileBinary = new byte[stream.Length];
stream.Read(fileBinary, 0, fileBinary.Length);

var fileExtension = Path.GetExtension(fileName);
if (!String.IsNullOrEmpty(fileExtension))
fileExtension = fileExtension.ToLowerInvariant();

var download = new Download
{
DownloadGuid = Guid.NewGuid(),
UseDownloadUrl = false,
DownloadUrl = "",
DownloadBinary = fileBinary,
ContentType = contentType,
//we store filename without extension for downloads
Filename = Path.GetFileNameWithoutExtension(fileName),
Extension = fileExtension,
IsNew = true
};
_downloadService.InsertDownload(download);

//when returning JSON the mime-type must be set to text/plain
//otherwise some browsers will pop-up a "Save As" dialog.
return Json(new { success = true,
downloadId = download.Id,
downloadUrl = Url.Action("DownloadFile", new { downloadGuid= download.DownloadGuid }) },
MimeTypes.TextPlain);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值