public JsonResult UploadFile() { //下面自定义的Model,实例化一下 uploadResult result = new uploadResult(); try { var oFile = Request.Form.Files["txt_file"]; Stream sm = oFile.OpenReadStream(); result.fileName = DateTime.Now.ToString("MMddHHmmss") + ".jpg"; string path = Path.GetFullPath("wwwroot/Image/"); var fileName = Path.Combine(path, result.fileName); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } // string filename = AppContext.BaseDirectory + "/Image/" + DateTime.Now.ToString("yyyymmddhhMMssss") + Guid.NewGuid().ToString() + ".png"; FileStream fs = new FileStream(fileName, FileMode.Create); byte[] buffer = new byte[sm.Length]; sm.Read(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length); fs.Dispose(); } catch (Exception ex) { result.error = ex.Message; } return(Json(result)); }
//维修上报上传视频至本地 public JsonResult UpLoadfileVideo() { //var userName = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Name).Value; uploadResult result = new uploadResult(); try { string uploadTime = DateTime.Now.ToString("yyyy/MM/dd");//从数据库读取当日存在维修项目数量 string uploadTime1 = DateTime.Now.ToString("yyyyMMdd"); var projects = _context.WXProjects.ToList(); int offset = 1; int maxNum = 0; foreach (WXProject project in projects) { if (project.ID.Substring(0, 8) == uploadTime1) { //判断是否有中间数字文件被删除后导致计数与有ID发生冲突 string incomingData = project.ID.Substring(8, 4); int parsedResult; if (int.TryParse(incomingData, out parsedResult)) { if (maxNum <= parsedResult) { maxNum = parsedResult; } } offset++; } } ; maxNum = maxNum + 1; string offsetString = Convert.ToString(maxNum); string offsetString2 = "0000" + offsetString; offsetString2 = offsetString2.Substring(offsetString.Length); string ID = uploadTime1 + offsetString2; var folderName = ID; IFormFile oFile = Request.Form.Files["uploadfiles"]; Stream sm = oFile.OpenReadStream(); result.fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + oFile.FileName; result.filePath = "../../Report/" + folderName + "/video/" + result.fileName; var filepath = _environment.ContentRootPath + "/wwwroot/Report/" + folderName + "/video"; if (!Directory.Exists(filepath)) { Directory.CreateDirectory(filepath); } string filename = filepath + "/" + result.fileName; FileStream fs = new FileStream(filename, FileMode.Create); byte[] buffer = new byte[sm.Length]; sm.Read(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length); fs.Dispose(); } catch (Exception ex) { } return(Json(result)); }
public JsonResult UpLoadfile() { var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; uploadResult result = new uploadResult(); try{ IFormFile oFile = Request.Form.Files["uploadfiles"]; Stream sm = oFile.OpenReadStream(); result.fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + oFile.FileName; result.filePath = "../../user/" + userId + "/" + result.fileName; var filepath = _environment.ContentRootPath + "/wwwroot/user/" + userId; if (!Directory.Exists(filepath)) { Directory.CreateDirectory(filepath); } string filename = filepath + "/" + result.fileName; FileStream fs = new FileStream(filename, FileMode.Create); byte[] buffer = new byte[sm.Length]; sm.Read(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length); fs.Dispose(); var imgpath = _environment.ContentRootPath + "/wwwroot/user/" + userId + "/" + result.fileName; using (Image <Rgba32> image = Image.Load(imgpath)) { var exif = image.MetaData.ExifProfile; if (exif != null) { if (exif.GetValue(ExifTag.DateTime) != null && exif.GetValue(ExifTag.GPSLongitude) != null) { result.takeTime = exif.GetValue(ExifTag.DateTime).ToString(); var Lng = exif.GetValue(ExifTag.GPSLongitude).ToString(); var Lat = exif.GetValue(ExifTag.GPSLatitude).ToString(); result.takeLng = ChangeCoordinate(exif, Lng); result.takeLat = ChangeCoordinate(exif, Lat); } else { result.error = "图片EXIF信息不全"; // result.takeTime = "2018:03:04 22:28:56"; // Random r = new Random(); // int rn = r.Next(80,100); // int rg = r.Next(0,35); // decimal lng = Convert.ToDecimal(120.49) + Convert.ToDecimal(rn)/10000; // decimal lat = Convert.ToDecimal(36.16) + Convert.ToDecimal(rg)/10000; // result.takeLng = lng; // result.takeLat = lat; } } else { result.error = "该图片非手机或照相机拍摄的原图"; // result.takeTime = "2018:03:04 22:28:56"; // Random r = new Random(); // int rn = r.Next(80,100); // int rg = r.Next(0,35); // decimal lng = Convert.ToDecimal(120.49) + Convert.ToDecimal(rn)/10000; // decimal lat = Convert.ToDecimal(36.16) + Convert.ToDecimal(rg)/10000; // result.takeLng = lng; // result.takeLat = lat; } } } catch (Exception ex) { result.error = ex.Message; } return(Json(result)); }