v3.4.6
This commit is contained in:
@@ -91,6 +91,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
@@ -169,6 +170,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
@@ -196,6 +198,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
@@ -221,6 +224,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
@@ -248,6 +252,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
@@ -266,6 +271,36 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
throw Oops.Oh(ErrorCode.D1804);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 复制文件.
|
||||
/// </summary>
|
||||
/// <param name="filePath">源文件地址.</param>
|
||||
/// <param name="toFilePath">剪切地址.</param>
|
||||
/// <returns></returns>
|
||||
public async Task CopyFile(string filePath, string toFilePath)
|
||||
{
|
||||
try
|
||||
{
|
||||
filePath = filePath.Replace(@",", "/");
|
||||
switch (KeyVariable.FileStoreType)
|
||||
{
|
||||
case OSSProviderType.Invalid:
|
||||
FileHelper.CopyFile(filePath, toFilePath);
|
||||
break;
|
||||
default:
|
||||
filePath = filePath.Replace(@"\", "/");
|
||||
var bucketName = KeyVariable.BucketName;
|
||||
await _oSSServiceFactory.Create(KeyVariable.FileStoreType.ToString()).CopyObjectAsync(bucketName, filePath, bucketName, toFilePath);
|
||||
await _oSSServiceFactory.Create(KeyVariable.FileStoreType.ToString()).RemoveObjectAsync(bucketName, filePath);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (AppFriendlyException ex)
|
||||
{
|
||||
throw Oops.Oh(ErrorCode.D1804);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导入导出(json文件)
|
||||
@@ -286,8 +321,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
var stream = new MemoryStream(byteList);
|
||||
await UploadFileByType(stream, _filePath, _fileName);
|
||||
_cacheManager.Set(_fileName, string.Empty);
|
||||
return new
|
||||
{
|
||||
return new {
|
||||
name = _fileName,
|
||||
url = string.Format("/api/file/Download?encryption={0}", DESCEncryption.Encrypt(string.Format("{0}|{1}|json", _userManager.UserId, _fileName), "JNPF"))
|
||||
};
|
||||
@@ -375,7 +409,8 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
fs.Flush();
|
||||
fs.Close();
|
||||
Stream stream = new FileStream(Path.Combine(directoryPath, saveFileName), FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||
var flag = await UploadFileByType(stream, GetPathByType(input.type), saveFileName);
|
||||
GetChunkModel(input, saveFileName);
|
||||
var flag = await UploadFileByType(stream, input.folder, saveFileName);
|
||||
var fileSize = stream.Length;
|
||||
if (flag)
|
||||
{
|
||||
@@ -383,7 +418,7 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
stream.Close();
|
||||
FileHelper.DeleteDirectory(directoryPath);
|
||||
}
|
||||
return new FileControlsModel { name = saveFileName, url = string.Format("/api/file/Image/annex/{0}", saveFileName), fileExtension = input.extension, fileSize = input.fileSize.ParseToLong() };
|
||||
return new FileControlsModel { name = input.fileName, url = string.Format("/api/file/Image/annex/{0}", input.fileName), fileExtension = input.extension, fileSize = input.fileSize.ParseToLong(), fileName = input.fileName };
|
||||
}
|
||||
catch (AppFriendlyException ex)
|
||||
{
|
||||
@@ -467,5 +502,39 @@ namespace JNPF.Common.Core.Manager.Files
|
||||
}
|
||||
return fileName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取地址和文件名.
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <param name="saveFileName"></param>
|
||||
public void GetChunkModel(ChunkModel input, string saveFileName)
|
||||
{
|
||||
var floder = GetPathByType(input.type);
|
||||
var fileNameStr = string.Empty;
|
||||
// 自定义路径
|
||||
if (input.pathType.Equals("selfPath"))
|
||||
{
|
||||
if (input.isAccount.Equals("1"))
|
||||
{
|
||||
floder = Path.Combine(floder, _userManager.User.Account);
|
||||
fileNameStr = Path.Combine(fileNameStr, _userManager.User.Account);
|
||||
}
|
||||
if (input.folder.IsNotEmptyOrNull())
|
||||
{
|
||||
floder = Path.Combine(floder, input.folder.Trim('/'));
|
||||
fileNameStr = Path.Combine(fileNameStr, input.folder);
|
||||
}
|
||||
fileNameStr = Path.Combine(fileNameStr, saveFileName);
|
||||
fileNameStr = fileNameStr.Replace("\\", ",");
|
||||
fileNameStr = fileNameStr.Replace("/", ",");
|
||||
}
|
||||
else
|
||||
{
|
||||
fileNameStr = saveFileName;
|
||||
}
|
||||
input.fileName = fileNameStr;
|
||||
input.folder = floder;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user