BootstrapAdmin/Bootstrap.Admin/Controllers/InfosController.cs

45 lines
1.7 KiB
C#

using Bootstrap.DataAccess;
using Longbow.ExceptionManagement;
using Longbow.Security.Principal;
using System;
using System.Collections.Specialized;
using System.IO;
using System.Web;
using System.Web.Http;
namespace Bootstrap.Admin.Controllers
{
public class InfosController : ApiController
{
[HttpPost]
public string Post()
{
var ret = string.Empty;
var userName = User.Identity.Name;
if (LgbPrincipal.IsAdmin(userName)) userName = "default";
var files = HttpContext.Current.Request.Files;
if (files.Count > 0 && !LgbPrincipal.IsAdmin(userName))
{
var webSiteUrl = DictHelper.RetrieveIconFolderPath().Code;
var fileName = string.Format("{0}.jpg", userName);
var fileUrl = string.Format("{0}{1}", webSiteUrl, fileName);
var filePath = HttpContext.Current.Server.MapPath(fileUrl);
var fileFolder = Path.GetDirectoryName(filePath);
try
{
if (!Directory.Exists(fileFolder)) Directory.CreateDirectory(fileFolder);
files[0].SaveAs(filePath);
ret = string.Format("{0}?q={1}", Url.Content(fileUrl), DateTime.Now.Ticks);
UserHelper.SaveUserIconByName(userName, fileName);
}
catch (Exception ex)
{
var nv = new NameValueCollection();
nv.Add("UpLoadFileName", filePath);
ExceptionManager.Publish(ex, nv);
}
}
return ret;
}
}
}