|
|
@ -117,17 +117,22 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
|
|
|
|
|
|
DirectoryHelper.CreateIfNotExists(Path.GetDirectoryName(filePath)); |
|
|
DirectoryHelper.CreateIfNotExists(Path.GetDirectoryName(filePath)); |
|
|
|
|
|
|
|
|
|
|
|
string fileMd5 = ""; |
|
|
FileMode fileMode = request.Overwrite ? FileMode.Create : FileMode.CreateNew; |
|
|
FileMode fileMode = request.Overwrite ? FileMode.Create : FileMode.CreateNew; |
|
|
using (var fileStream = File.Open(filePath, fileMode, FileAccess.ReadWrite)) |
|
|
using (var fileStream = File.Open(filePath, fileMode, FileAccess.ReadWrite)) |
|
|
{ |
|
|
{ |
|
|
await request.Content.CopyToAsync(fileStream); |
|
|
await request.Content.CopyToAsync(fileStream); |
|
|
|
|
|
|
|
|
|
|
|
fileMd5 = fileStream.MD5(); |
|
|
|
|
|
|
|
|
await fileStream.FlushAsync(); |
|
|
await fileStream.FlushAsync(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var fileInfo = new FileInfo(filePath); |
|
|
var fileInfo = new FileInfo(filePath); |
|
|
var ossObject = new OssObject( |
|
|
var ossObject = new OssObject( |
|
|
fileInfo.Name, |
|
|
fileInfo.Name, |
|
|
objectPath, |
|
|
objectPath, |
|
|
|
|
|
fileMd5, |
|
|
fileInfo.CreationTime, |
|
|
fileInfo.CreationTime, |
|
|
fileInfo.Length, |
|
|
fileInfo.Length, |
|
|
fileInfo.LastWriteTime, |
|
|
fileInfo.LastWriteTime, |
|
|
@ -157,6 +162,7 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
var ossObject = new OssObject( |
|
|
var ossObject = new OssObject( |
|
|
directoryInfo.Name.EnsureEndsWith('/'), |
|
|
directoryInfo.Name.EnsureEndsWith('/'), |
|
|
objectPath, |
|
|
objectPath, |
|
|
|
|
|
"", |
|
|
directoryInfo.CreationTime, |
|
|
directoryInfo.CreationTime, |
|
|
0L, |
|
|
0L, |
|
|
directoryInfo.LastWriteTime, |
|
|
directoryInfo.LastWriteTime, |
|
|
@ -267,6 +273,7 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
var ossObject = new OssObject( |
|
|
var ossObject = new OssObject( |
|
|
directoryInfo.Name.EnsureEndsWith('/'), |
|
|
directoryInfo.Name.EnsureEndsWith('/'), |
|
|
objectPath, |
|
|
objectPath, |
|
|
|
|
|
"", |
|
|
directoryInfo.CreationTime, |
|
|
directoryInfo.CreationTime, |
|
|
0L, |
|
|
0L, |
|
|
directoryInfo.LastWriteTime, |
|
|
directoryInfo.LastWriteTime, |
|
|
@ -283,9 +290,12 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
var fileInfo = new FileInfo(filePath); |
|
|
var fileInfo = new FileInfo(filePath); |
|
|
|
|
|
using (var fileStream = File.OpenRead(filePath)) |
|
|
|
|
|
{ |
|
|
var ossObject = new OssObject( |
|
|
var ossObject = new OssObject( |
|
|
fileInfo.Name, |
|
|
fileInfo.Name, |
|
|
objectPath, |
|
|
objectPath, |
|
|
|
|
|
request.MD5 ? fileStream.MD5() : "", |
|
|
fileInfo.CreationTime, |
|
|
fileInfo.CreationTime, |
|
|
fileInfo.Length, |
|
|
fileInfo.Length, |
|
|
fileInfo.LastWriteTime, |
|
|
fileInfo.LastWriteTime, |
|
|
@ -297,8 +307,7 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
{ |
|
|
{ |
|
|
FullName = fileInfo.FullName.Replace(Environment.ContentRootPath, "") |
|
|
FullName = fileInfo.FullName.Replace(Environment.ContentRootPath, "") |
|
|
}; |
|
|
}; |
|
|
using (var fileStream = File.OpenRead(filePath)) |
|
|
|
|
|
{ |
|
|
|
|
|
var memoryStream = new MemoryStream(); |
|
|
var memoryStream = new MemoryStream(); |
|
|
await fileStream.CopyToAsync(memoryStream); |
|
|
await fileStream.CopyToAsync(memoryStream); |
|
|
ossObject.SetContent(memoryStream); |
|
|
ossObject.SetContent(memoryStream); |
|
|
@ -318,11 +327,11 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ossObject; |
|
|
return ossObject; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public virtual Task<GetOssContainersResponse> GetListAsync(GetOssContainersRequest request) |
|
|
public virtual Task<GetOssContainersResponse> GetListAsync(GetOssContainersRequest request) |
|
|
{ |
|
|
{ |
|
|
@ -470,6 +479,7 @@ namespace LINGYUN.Abp.OssManagement.FileSystem |
|
|
fileSystems.Select(x => new OssObject( |
|
|
fileSystems.Select(x => new OssObject( |
|
|
(x is DirectoryInfo) ? x.Name.EnsureEndsWith('/') : x.Name, |
|
|
(x is DirectoryInfo) ? x.Name.EnsureEndsWith('/') : x.Name, |
|
|
request.Prefix, |
|
|
request.Prefix, |
|
|
|
|
|
request.MD5 ? (x as FileInfo)?.OpenRead().MD5() ?? "" : "", |
|
|
x.CreationTime, |
|
|
x.CreationTime, |
|
|
(x as FileInfo)?.Length ?? 0L, |
|
|
(x as FileInfo)?.Length ?? 0L, |
|
|
x.LastWriteTime, |
|
|
x.LastWriteTime, |
|
|
|