前端前台代码
var uploadInst = upload.render({
elem: '#tjbtn' //绑定元素
,accept:"file"
, url: '/api/Bridge/layuiuploadfile' //上传接口
, done: function (job) {
if (job.Code == "200") {
//业务逻辑
} else {
layer.msg(job.Msg);
}
}
, error: function () {
//请求异常回调
}
});
前端后台代码
/// <summary>
/// layUI上传接口
/// </summary>
/// <returns></returns>
[HttpPost]
public ReturnObj layuiuploadfile()
{
try
{
HttpFileCollection files = HttpContext.Current.Request.Files;
using (var client = new HttpClient())
{
using (var multipartFormDataContent = new MultipartFormDataContent())
{
var values = new[]
{
new KeyValuePair<string, string>("a", ""),
new KeyValuePair<string, string>("b", ""),
new KeyValuePair<string, string>("c", ""),
new KeyValuePair<string, string>("d", "")
//other values
};
foreach (var keyValuePair in values)
{
multipartFormDataContent.Add(new StringContent(keyValuePair.Value),
String.Format("\"{0}\"", keyValuePair.Key));
}
for (int i = 0; i < files.Count; i++)
{
Stream stream = files[i].InputStream;
byte[] bytes = new byte[stream.Length];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(bytes, 0, bytes.Length);
multipartFormDataContent.Add(new ByteArrayContent(bytes), "file", files[i].FileName);
}
string html = client.PostAsync("http://xxx.xxx.xxx/api/Upload/UploadFile", multipartFormDataContent).Result.Content.ReadAsStringAsync().Result;
returnObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ReturnObj>(html);
}
}
}
catch (Exception e)
{
returnObj.Code = "500";
returnObj.Msg = "后台错误";
}
return returnObj;
}
接口端代码
HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
if (files.Count > 0)
{
List<FuJian> arr = new List<FuJian>();
for (int i = 0; i < files.Count; i++)
{
FuJian aa = new FuJian();
string FileName = files[i].FileName;
string strSuiji = System.DateTime.Now.ToString("yyyyMMddHHmmss");//随机数//实际的名称
string fileTrueName = "UploadFile_" + i + strSuiji + "_" + FileName;
aa.FileName = FileName;
aa.SaveName = fileTrueName;
string size = Math.Round((double)files[i].ContentLength / 1024, 2).ToString();
aa.Size = size;
string filetype = Path.GetExtension(files[0].FileName).ToLower();
aa.FileType = filetype.Substring(1);
arr.Add(aa);
}
returnObj.Code = "200";
returnObj.Msg = "成功";
returnObj.Data = arr;
}
else
{
returnObj.Code = "500";
returnObj.Msg = "未获取到上传文件";
}