private IHostingEnvironment host = null;
public CommonController(IHostingEnvironment host)
{
this.host = host;
}
/// <summary>
/// 附件上传 一般存储在wwwroot
/// </summary>
/// <returns></returns>
[HttpPost, Route("upload")]
public object UpLoadAll()
{
Guid fileGuid = Guid.NewGuid();//生成新的文件名称 以GUID命名防止文件名相同
string NewFileName = fileGuid.ToString();//新的文件名
try
{
var file = Request.Form.Files["content"]; //对应小程序 name
string fileName = Path.GetFileName(file.FileName);//得到上传文件的完整名称 即文件名+后缀名
string FileType = Path.GetExtension(fileName);
//得到保存文件的完整路径
String fileTime = DateTime.Now.ToString("yyyyMMdd");
try
{
string directoryPath = host.WebRootPath + "/upload/api/" + fileTime;
if (!Directory.Exists(directoryPath))//不存在这个文件夹就创建这个文件夹
{
Directory.CreateDirectory(directoryPath);
}
using (FileStream fs = System.IO.File.Create(directoryPath + "/" + NewFileName + FileType))
{
file.CopyTo(fs);
fs.Flush();
}
}
catch (Exception ex)
{
return ResponseInfo.ResponseError(-1, "上传附件失败!", ex.ToString());
}
NewFileName = "/upload/api/" + fileTime + "/" + NewFileName + FileType;
return ResponseInfo.ResponseSucess(0, "上传附件成功!", NewFileName);
}
catch (Exception ex)
{
return ResponseInfo.ResponseError(-1, "上传附件失败!", ex.ToString());
}
}
共有条评论 网友评论