diff --git a/CnGalWebSite/CnGalWebSite.DrawingBed/Controllers/FileController.cs b/CnGalWebSite/CnGalWebSite.DrawingBed/Controllers/FileController.cs
index 24dcb53433..34414ea17b 100644
--- a/CnGalWebSite/CnGalWebSite.DrawingBed/Controllers/FileController.cs
+++ b/CnGalWebSite/CnGalWebSite.DrawingBed/Controllers/FileController.cs
@@ -42,7 +42,7 @@ public FileController(IHttpClientFactory clientFactory, IWebHostEnvironment webH
///
[HttpPost]
[AllowAnonymous]
- public async Task>> UploadAsync([FromForm] List files, [FromQuery] double x, [FromQuery] double y, [FromQuery] UploadFileType type, [FromQuery] bool gallery=false)
+ public async Task>> UploadAsync([FromForm] List files, [FromQuery] double x, [FromQuery] double y, [FromQuery] UploadFileType type, [FromQuery] bool gallery = false)
{
if (files.Count == 0)
{
@@ -53,14 +53,14 @@ public async Task>> UploadAsync([FromForm] List<
{
try
{
- model.Add(await _fileService.UploadFormFile(item,gallery, x, y, type));
+ model.Add(await _fileService.UploadFormFile(item, gallery, x, y, type));
}
catch (Exception ex)
{
model.Add(new UploadResult
{
Uploaded = false,
- FileName=item.Name,
+ FileName = item.Name,
Error = ex.Message
});
}
@@ -101,7 +101,7 @@ public async Task> linkToImgUrlAsync([FromQuery] stri
try
{
- var result= await _fileService.TransferDepositFile(url,gallery, x, y, type);
+ var result = await _fileService.TransferDepositFile(url, gallery, x, y, type);
return result;
}
@@ -126,18 +126,19 @@ public async Task> linkToImgUrlAsync([FromQuery] stri
[AllowAnonymous]
public async Task> TransferDepositToTucangCCAsync([FromQuery] string url)
{
- string path="";
+ string path = "";
try
{
path = await _fileService.SaveFileFromUrl(url, UploadFileType.Image);
- var result = await _uploadService.UploadToTucangCC(path);
+ var sha1 = _fileService.GetSHA1(path);
+ var result = await _uploadService.UploadToTucangCC(path, $"{sha1}.png");
_fileService.DeleteFile(path);
return new UploadResult
{
Url = result,
OriginalUrl = url,
- Uploaded=true
+ Uploaded = true
};
}
catch (Exception ex)
@@ -212,7 +213,7 @@ public async Task> GetSameFileAsync([FromQuery] string sha1
public async Task> GetRandomFileAsync([FromQuery] UploadFileType type)
{
var random = new Random();
- var length = await _uploadRecordRepository.CountAsync(s => string.IsNullOrWhiteSpace(s.Url) == false&&s.Type==type);
+ var length = await _uploadRecordRepository.CountAsync(s => string.IsNullOrWhiteSpace(s.Url) == false && s.Type == type);
if (length > 0)
{
var p = random.Next(0, length);
diff --git a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/FileService.cs b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/FileService.cs
index 0b256d01ec..5adbaa76c8 100644
--- a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/FileService.cs
+++ b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/FileService.cs
@@ -181,7 +181,7 @@ private async Task UploadLocalFileToServer(string filePath, string shar1
if (gallery && type == UploadFileType.Image)
{
- url = await _uploadService.UploadToTucangCC(filePath) + "?" + url;
+ url = await _uploadService.UploadToTucangCC(filePath,$"{GetSHA1(filePath)}.png") + "?" + url;
}
return url;
@@ -233,7 +233,7 @@ public async Task SaveFileFromUrl(string url, UploadFileType type)
return newPath;
}
- private string GetSHA1(string path)
+ public string GetSHA1(string path)
{
try
{
diff --git a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IFileService.cs b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IFileService.cs
index dd11e345cc..b2ee3dedb7 100644
--- a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IFileService.cs
+++ b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IFileService.cs
@@ -12,5 +12,7 @@ public interface IFileService
Task SaveFileFromUrl(string url, UploadFileType type);
void DeleteFile(string path);
+
+ string GetSHA1(string path);
}
}
diff --git a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IUploadService.cs b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IUploadService.cs
index 5c34ea6eaf..6ed23de619 100644
--- a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IUploadService.cs
+++ b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/IUploadService.cs
@@ -6,6 +6,6 @@ public interface IUploadService
Task UploadToAliyunOSS(string filePath, string shar1);
- Task UploadToTucangCC(string filePath);
+ Task UploadToTucangCC(string filePath, string uploadName);
}
}
diff --git a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/UploadService.cs b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/UploadService.cs
index 54f405dad0..8ccc3eade6 100644
--- a/CnGalWebSite/CnGalWebSite.DrawingBed/Services/UploadService.cs
+++ b/CnGalWebSite/CnGalWebSite.DrawingBed/Services/UploadService.cs
@@ -122,7 +122,7 @@ public async Task UploadToTencentOSS(string filePath, string shar1)
/// 转存图片到公共图床
///
///
- public async Task UploadToTucangCC(string filePath)
+ public async Task UploadToTucangCC(string filePath, string uploadName)
{
try
{
@@ -132,7 +132,7 @@ public async Task UploadToTucangCC(string filePath)
content.Add(
content: fileContent,
name: "file",
- fileName: "test.png");
+ fileName: uploadName);
content.Add(new StringContent(_configuration["TucangCCAPIToken"]), "token");
var response = await _httpClient.PostAsync(_configuration["TucangCCAPIUrl"], content);
@@ -143,7 +143,7 @@ public async Task UploadToTucangCC(string filePath)
if (result["code"].ToObject() == 200)
{
- var url= $"{_configuration["CustomTucangCCUrl"]}{result["data"]["url"].ToObject().Split('/').LastOrDefault()}";
+ var url = $"{_configuration["CustomTucangCCUrl"]}{result["data"]["url"].ToObject().Split('/').LastOrDefault()}";
await _httpClient.GetAsync(url);
_logger.LogInformation("成功上传图片到TucangCC:{url}", url);
return url;