首先傳遞的數據格式大概以下:數據庫
而後就能夠在後端獲取數據了:直接上代碼了哈:json
[HttpPost] ///分別獲取 data數據和調用圖片上傳方法
public async Task<JsonResult> UploadDefault()
{
var data =Request.Form["data"];
var dataPosition=GetSortModel(data); //json反序列化爲 list型
BootstrapFileResult res = await UploadCommonAsync(); //圖片上傳並返回 圖片id
var picid = res.ImgId;
PicandPoint user = new PicandPoint();
user.LevelId = dataPosition[0].id;
user.PositionX = dataPosition[0].positionX;
user.PositionY = dataPosition[0].positionY;
user.FotoId = picid;
JsonResult result = await CreatePoint(user);
return result;
}後端
[HttpPost] ////將文件保存到指定路徑,而後在存到數據庫dom
public async Task<BootstrapFileResult> UploadCommonAsync()
{
////var data = Request.Form["data"];
var files = Request.Form.Files;
var baseDir = _options.ImgDir;
var res = new BootstrapFileResult();
var now = DateTime.Now;
if (!Directory.Exists(baseDir))
{
Directory.CreateDirectory(baseDir);
}
for (int i = 0; i < files.Count; ++i)
{
var newnamere = "";
var file = files[i];async
var imgid = 0;
try
{
var orgName = file.FileName;
var newName = GetRandomFileName(orgName);
newnamere = newName;
imgid = await _indexer.StoreImageRecord(orgName, newnamere);orm
var filePath = baseDir + "/" + newName;
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream); //將圖片寫到指定文件夾
}
var bitmap = new ImageSharp.Image(file.OpenReadStream());
var width = bitmap.Width;
var height = bitmap.Height;
await _indexer.UpdateImageDataEx(imgid, width, height);
}
catch (Exception e) { continue; }
res.ImgId = imgid;blog
}圖片
return res;
}ci
///這個方法是將獲取到的 data爲stringvalue類型數據轉化爲list型:string
private List<UpPoint> GetSortModel(string sortModel) { List<UpPoint> list = new List<UpPoint>(); if (sortModel == null) { return list; } string array = $"[{sortModel}]"; var deserialized = JsonConvert.DeserializeObject<List<UpPoint>>(array); return deserialized; }