|
|
|
|
@ -25,6 +25,7 @@ using System.Linq.Expressions;
|
|
|
|
|
using System.Text.Json;
|
|
|
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using System.Net;
|
|
|
|
|
|
|
|
|
|
namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
{
|
|
|
|
|
@ -968,7 +969,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
public async Task<Response<string>> UploadFile(AirPortUploadDbReq req)
|
|
|
|
|
{
|
|
|
|
|
Response<string> Response = new Response<string>();
|
|
|
|
|
//db包校验
|
|
|
|
|
|
|
|
|
|
// 首先检查文件是否存在
|
|
|
|
|
if (!File.Exists(req.filePath))
|
|
|
|
|
{
|
|
|
|
|
@ -976,14 +977,10 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
Response.Code = 500;
|
|
|
|
|
return Response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var filePath = req.filePath;
|
|
|
|
|
var uploadUrl = req.fileUrl;
|
|
|
|
|
var fileName = req.filename;
|
|
|
|
|
byte[] fileBuffer = null;
|
|
|
|
|
HttpClient client = null;
|
|
|
|
|
MultipartFormDataContent formData = null;
|
|
|
|
|
try
|
|
|
|
|
@ -995,20 +992,20 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
client = new HttpClient();
|
|
|
|
|
//client.Timeout = new TimeSpan(0, 0, 0, 5);
|
|
|
|
|
client.Timeout = TimeSpan.FromMinutes(5);
|
|
|
|
|
formData = new MultipartFormDataContent();
|
|
|
|
|
var fileContent = new StreamContent(fileStream);
|
|
|
|
|
//formData = new MultipartFormDataContent();
|
|
|
|
|
var fileContent = new StreamContent(fileStream);
|
|
|
|
|
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
|
|
|
|
|
fileContent.Headers.ContentDisposition.FileName = fileName;
|
|
|
|
|
//注意:务必 根据 文件扩展名,这里指定 ContentType
|
|
|
|
|
fileContent.Headers.ContentType = new
|
|
|
|
|
MediaTypeHeaderValue("application/octet-stream");
|
|
|
|
|
formData.Add(fileContent);
|
|
|
|
|
//formData.Add(fileContent);
|
|
|
|
|
var request = new HttpRequestMessage
|
|
|
|
|
{
|
|
|
|
|
//注意:这里是 PUT
|
|
|
|
|
Method = HttpMethod.Put,
|
|
|
|
|
RequestUri = new Uri(uploadUrl),
|
|
|
|
|
Content = formData
|
|
|
|
|
Content = fileContent
|
|
|
|
|
};
|
|
|
|
|
var result = client.SendAsync(request).Result.Content.ReadAsStringAsync().Result;
|
|
|
|
|
if (string.IsNullOrWhiteSpace(result))
|
|
|
|
|
@ -1016,7 +1013,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
Response.Result = result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
@ -1024,11 +1021,54 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
fileBuffer = null;
|
|
|
|
|
formData?.Dispose();
|
|
|
|
|
client?.Dispose();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region
|
|
|
|
|
//string fileName = Path.GetFileName(filePath);
|
|
|
|
|
//HttpWebRequest reqs = null;
|
|
|
|
|
//HttpWebResponse resp = null;
|
|
|
|
|
//try
|
|
|
|
|
//{
|
|
|
|
|
// reqs = WebRequest.Create(uploadUrl) as HttpWebRequest;
|
|
|
|
|
// reqs.Method = "PUT";
|
|
|
|
|
// reqs.ContentType = "application/octet-stream";
|
|
|
|
|
// reqs.ContentLength = new FileInfo(filePath).Length;
|
|
|
|
|
|
|
|
|
|
// reqs.SendChunked = true;
|
|
|
|
|
// reqs.AllowWriteStreamBuffering = false;
|
|
|
|
|
|
|
|
|
|
// using (Stream dataStream = reqs.GetRequestStream())
|
|
|
|
|
// {
|
|
|
|
|
// var buffer = new byte[8000];
|
|
|
|
|
// using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
|
|
|
|
|
// {
|
|
|
|
|
// int bytesRead = 0;
|
|
|
|
|
// while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0)
|
|
|
|
|
// {
|
|
|
|
|
// dataStream.Write(buffer, 0, bytesRead);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// resp = reqs.GetResponse() as HttpWebResponse;
|
|
|
|
|
// var isOk = resp.StatusCode == HttpStatusCode.OK;
|
|
|
|
|
|
|
|
|
|
// Stream streamReceive = resp.GetResponseStream();
|
|
|
|
|
// var encoding = Encoding.UTF8;
|
|
|
|
|
|
|
|
|
|
// StreamReader streamReader = new StreamReader(streamReceive, encoding);
|
|
|
|
|
// string strResult = streamReader.ReadToEnd();
|
|
|
|
|
//}
|
|
|
|
|
//catch (Exception ex)
|
|
|
|
|
//{
|
|
|
|
|
//}
|
|
|
|
|
//finally
|
|
|
|
|
//{
|
|
|
|
|
// resp?.Dispose();
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
return Response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1378,7 +1418,7 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
//上传文件
|
|
|
|
|
AirPortUploadDbReq req = new AirPortUploadDbReq();
|
|
|
|
|
req.fileUrl = write;
|
|
|
|
|
req.filePath = filepath;
|
|
|
|
|
req.filePath = tempFilePath;
|
|
|
|
|
req.filename = filename;
|
|
|
|
|
|
|
|
|
|
//数据写入数据库
|
|
|
|
|
@ -1397,6 +1437,11 @@ namespace OpenAuth.App.ServiceApp.DroneDocking
|
|
|
|
|
dbfine.key = "hopetry";
|
|
|
|
|
dbfine.sign = signData.Sign;
|
|
|
|
|
dbfine.timestamp= Convert.ToInt32(signData.Timestamp);
|
|
|
|
|
var dbinfo = uow.DbfineInfo.GetList(r => r.taskid == taskidsheng);
|
|
|
|
|
if(dbinfo.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
await uow.DbfineInfo.DeleteAsync(r=>r.taskid == taskidsheng);
|
|
|
|
|
}
|
|
|
|
|
var info = await uow.DbfineInfo.InsertAsync(dbfine);
|
|
|
|
|
if (info == false)
|
|
|
|
|
{
|
|
|
|
|
|