增加切片上传,修改文件关联

master
孙亮 6 months ago
parent 6538420ec2
commit 2653d8ab94

@ -40,6 +40,9 @@ using NPOI.SS.Formula.Atp;
using Org.BouncyCastle.Asn1.Pkcs; using Org.BouncyCastle.Asn1.Pkcs;
using System.Windows.Forms; using System.Windows.Forms;
using Org.BouncyCastle.Asn1.Ocsp; using Org.BouncyCastle.Asn1.Ocsp;
using System.Data;
using System.Web.WebSockets;
using System.Security.Cryptography;
namespace IBKLinker_Minio.Controller.MinioController namespace IBKLinker_Minio.Controller.MinioController
{ {
@ -55,6 +58,7 @@ namespace IBKLinker_Minio.Controller.MinioController
/// 调用log日志文件 /// 调用log日志文件
/// </summary> /// </summary>
private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public static List<SliceUploadModel> SliceUploadData = new List<SliceUploadModel>();
#region minio权限表 #region minio权限表
@ -350,15 +354,25 @@ namespace IBKLinker_Minio.Controller.MinioController
{ {
try try
{ {
bool Asstion = true;//定义是否执行关联
IList<MinioFileassociation> SelMFdata = new List<MinioFileassociation>(); IList<MinioFileassociation> SelMFdata = new List<MinioFileassociation>();
SelMFdata = db.Query<MinioFileassociation>("select * from MINIO_FILEASSOCIATION where 1=1 and FILE_PK='"+ minioFileassociation.FilePk+ "' and ASSOCIATION_FILE_PK='"+ minioFileassociation.AssociationFilePk+ "'"); SelMFdata = db.Query<MinioFileassociation>("select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + minioFileassociation.FilePk + "' or ASSOCIATION_FILE_PK='" + minioFileassociation.FilePk + "')");
//查询当前被关联文件是否已经被关联过 //查询当前被关联文件是否已经被关联过
if (SelMFdata.Count > 0) if (SelMFdata.Count > 0)
{ {
request.code = "1"; foreach (var item in SelMFdata)
request.msg = "当前文件已经被关联过,请勿重复关联!"; {
if (item.FilePk == minioFileassociation.FilePk && item.AssociationFilePk == minioFileassociation.AssociationFilePk) //如果当前要关联的pk 等于已有的关联pk 被关联pk 等于已有的被关联pk
{
Asstion = false;
}
if (item.FilePk == minioFileassociation.AssociationFilePk && item.AssociationFilePk == minioFileassociation.FilePk) //如果当前要关联的pk 等于已有的被关联pk 被关联pk 等于已有的关联pk
{
Asstion = false;
}
}
} }
else if (Asstion)
{ {
db.BeginTransaction();//启动事务 db.BeginTransaction();//启动事务
///拿到表自增长的值赋值给自增长主键pk ///拿到表自增长的值赋值给自增长主键pk
@ -371,6 +385,11 @@ namespace IBKLinker_Minio.Controller.MinioController
request.code = "0"; request.code = "0";
request.msg = "关联成功!"; request.msg = "关联成功!";
} }
else
{
request.code = "1";
request.msg = "当前文件已经被关联过,请勿重复关联!";
}
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -439,9 +458,27 @@ namespace IBKLinker_Minio.Controller.MinioController
{ {
if (master != null) if (master != null)
{ {
bool Asstion = true;
List<MinioFileassociation> Deldata = new List<MinioFileassociation>();
IList<MinioFileassociation> SelMFdata = new List<MinioFileassociation>();
SelMFdata = db.Query<MinioFileassociation>("select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + master.FilePk + "' or ASSOCIATION_FILE_PK='" + master.FilePk + "')");
//查询当前被关联文件是否已经被关联过
if (SelMFdata.Count > 0)
{
foreach (var item in SelMFdata)
{
if (item.FilePk == master.FilePk && item.AssociationFilePk == master.AssociationFilePk) //如果当前要关联的pk 等于已有的关联pk 被关联pk 等于已有的被关联pk
{
Deldata.Add(item);//向需要删除的list中追加数据
}
if (item.FilePk == master.AssociationFilePk && item.AssociationFilePk == master.FilePk) //如果当前要关联的pk 等于已有的被关联pk 被关联pk 等于已有的关联pk
{
Deldata.Add(item);//向需要删除的list中追加数据
}
}
}
db.BeginTransaction();//启动事务 db.BeginTransaction();//启动事务
string sql = string.Format("delete from MINIO_FILEASSOCIATION where 1=1 and PK={0}", master.Pk); db.Delete<MinioFileassociation>(Deldata);
db.Execute(sql);
db.Commit();//提交事务 db.Commit();//提交事务
request.code = "0"; request.code = "0";
request.msg = "删除成功!"; request.msg = "删除成功!";
@ -477,28 +514,9 @@ namespace IBKLinker_Minio.Controller.MinioController
{ {
if (FilePk != null) if (FilePk != null)
{ {
string sql = string.Empty;
//先通过文件ID拿到文件的类型是技术协议还是质量要点或者工艺卡
MinioStoragePath ds = db.Query<MinioStoragePath>("select * from MINIO_STORAGE_PATH where PK= " + int.Parse(FilePk) + " and CLEAR_FLAG='0' ORDER BY PK").FirstOrDefault();
if (ds != null)
{
if (ds.DocumentType == "1")
{
sql += string.Format(" and FILE_PK ={0}", int.Parse(FilePk));
}
else if (ds.DocumentType == "2")
{
sql += string.Format(" and FILE_PK ={0} or ASSOCIATION_FILE_PK ={0}", int.Parse(FilePk));
}
else
{
sql += string.Format(" and ASSOCIATION_FILE_PK ={0}", int.Parse(FilePk));
}
}
//通过文件类型判断是查文件的下一级还是查文件的上下级
IList<MinioFileassociation> SelMFdata = new List<MinioFileassociation>(); IList<MinioFileassociation> SelMFdata = new List<MinioFileassociation>();
IList<MinioFileassociation> result = new List<MinioFileassociation>(); IList<MinioFileassociation> result = new List<MinioFileassociation>();
SelMFdata = db.Query<MinioFileassociation>("select * from MINIO_FILEASSOCIATION where 1=1 " + sql + " ORDER BY PK"); SelMFdata = db.Query<MinioFileassociation>("select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + int.Parse(FilePk) + "' or ASSOCIATION_FILE_PK='" + int.Parse(FilePk) + "') ORDER BY PK");
if (SelMFdata.Count > 0) //如果有数据 if (SelMFdata.Count > 0) //如果有数据
{ {
foreach (var item in SelMFdata) foreach (var item in SelMFdata)
@ -966,6 +984,7 @@ namespace IBKLinker_Minio.Controller.MinioController
date.ModifyTime = time;//修改时间 date.ModifyTime = time;//修改时间
date.ClearFlag = "0";//删除标记 0未删除 1删除 date.ClearFlag = "0";//删除标记 0未删除 1删除
date.DocumentType = item.DocumentType;//文件种类 date.DocumentType = item.DocumentType;//文件种类
date.Version = item.Version;//版本
if (item.Bate64 != null)//如果是修改文件 if (item.Bate64 != null)//如果是修改文件
{ {
var contentType = item.FileCategory; var contentType = item.FileCategory;
@ -1226,7 +1245,7 @@ namespace IBKLinker_Minio.Controller.MinioController
string sql = string.Empty; string sql = string.Empty;
if (!string.IsNullOrEmpty(UserID)) if (!string.IsNullOrEmpty(UserID))
{ {
sql += "and a.USER_ID='"+UserID+"'"; sql += "and a.USER_ID='" + UserID + "'";
} }
if (!string.IsNullOrEmpty(FileName)) if (!string.IsNullOrEmpty(FileName))
{ {
@ -1288,7 +1307,7 @@ namespace IBKLinker_Minio.Controller.MinioController
#region minio文件下载及预览 #region minio文件下载及预览
/// <summary> /// <summary>
/// 件下载及预览接口 /// 件下载及预览接口
/// </summary> /// </summary>
[HttpPost, Route("FileDownload")] [HttpPost, Route("FileDownload")]
public RequestEntity FileDownload(List<MinioStoragePath> minioStoragePath) public RequestEntity FileDownload(List<MinioStoragePath> minioStoragePath)
@ -1296,6 +1315,7 @@ namespace IBKLinker_Minio.Controller.MinioController
MinioBusinessLogic bb = new MinioBusinessLogic();//定义业务逻辑方法 MinioBusinessLogic bb = new MinioBusinessLogic();//定义业务逻辑方法
RequestEntity request = new RequestEntity();//定义返回集合 RequestEntity request = new RequestEntity();//定义返回集合
List<MinioStoragePath> data = new List<MinioStoragePath>();//定义输出下载的list List<MinioStoragePath> data = new List<MinioStoragePath>();//定义输出下载的list
string NewFileName = "";
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db")) using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db"))
{ {
try try
@ -1306,7 +1326,15 @@ namespace IBKLinker_Minio.Controller.MinioController
{ {
MinioStoragePath date = new MinioStoragePath();//定义单条返回数据 MinioStoragePath date = new MinioStoragePath();//定义单条返回数据
string BuckName = bb.GetBuckName();//调用取桶名称方法 string BuckName = bb.GetBuckName();//调用取桶名称方法
string NewFileName = item.FileName.Replace(".pdf","_") + item.Version + ".pdf"; NewFileName = item.FileName;
if (item.Version != null && item.FileName.IndexOf(".pdf") > 0)//判断是否是pdf文件并且有版本做处理
{
NewFileName = item.FileName.Replace(".pdf", "_") + item.Version + ".pdf";
}
if (item.Version != null && item.FileName.IndexOf(".PDF") > 0)//判断是否是pdf文件并且有版本做处理
{
NewFileName = item.FileName.Replace(".PDF", "_") + item.Version + ".PDF";
}
var uploadTask = bb.Download(BuckName, NewFileName);//异步取base64 var uploadTask = bb.Download(BuckName, NewFileName);//异步取base64
uploadTask.Wait();//等待取值 uploadTask.Wait();//等待取值
if (uploadTask.Status == TaskStatus.RanToCompletion && !uploadTask.IsFaulted) //判读是否有数值 if (uploadTask.Status == TaskStatus.RanToCompletion && !uploadTask.IsFaulted) //判读是否有数值
@ -1544,6 +1572,336 @@ namespace IBKLinker_Minio.Controller.MinioController
} }
#endregion #endregion
#region 切片上传
/// <summary>
/// 接收切片
/// </summary>
[HttpPost, Route("SliceUpload")]
public async Task<RequestEntity> SliceUploadAsync()//string FileName,string SliceQuantity,string FileNum, string FileId,string Size,string Upk, string FileType, string FilePath, string CreatorUser, string DownloadNum, string FileLevel, string FileCategory
{
Dictionary<string, string> dic = new Dictionary<string, string>();
SliceUploadModel master = new SliceUploadModel();
RequestEntity request = new RequestEntity();//定义返回集合
try
{
var multipartMemoryStreamProvider = await Request.Content.ReadAsMultipartAsync();
foreach (var content in multipartMemoryStreamProvider.Contents)
{
if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName))
{
using (Stream stream = await content.ReadAsStreamAsync())
{
if (stream.CanSeek) // 确保流支持查询长度和定位
{
long length = stream.Length;
byte[] bytes = new byte[length];
int offset = 0;
int bytesRead;
while ((bytesRead = stream.Read(bytes, offset, bytes.Length - offset)) > 0)
{
offset += bytesRead;
}
// bytes 数组现在包含了整个流的内容
master.FileBase64 = bytes;
}
}
}
else
{
string val = await content.ReadAsStringAsync();
dic.Add(content.Headers.ContentDisposition.Name.Replace("\"", ""), System.Web.HttpUtility.UrlDecode(val));
}
}
master.FileName = dic["FileName"].ToString();//文件名称
master.SliceQuantity = dic["SliceQuantity"].ToString();//切片总数量
master.FileNum = dic["FileNum"].ToString();
master.FileId = dic["FileId"].ToString();
master.Upk = Convert.ToInt32( dic["Upk"].ToString());
master.FileType = Convert.ToInt32(dic["FileType"].ToString());
master.FilePath = dic["FilePath"].ToString();
master.CreatorUser = dic["CreatorUser"].ToString();
master.DownloadNum = Convert.ToInt32(dic["DownloadNum"].ToString());
master.FileLevel = Convert.ToInt32(dic["FileLevel"].ToString());
master.FileCategory = dic["FileCategory"].ToString();
SliceUploadData.Add(master);
request.code = "0";
request.msg = "已接收切片";
}
catch (Exception ex)
{
request.code = "1";
logger.InfoFormat(ex.ToString());
}
return request;
}
/// <summary>
/// 拼接上传切片文件
/// </summary>
[HttpPost, Route("SliceUploadOrver")]
public RequestEntity SliceUploadOrver(SliceUploadModel master)
{
RequestEntity request = new RequestEntity();//定义返回集合
MinioBusinessLogic bb = new MinioBusinessLogic();//定义业务逻辑方法
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db"))
{
try
{
#region 定义minio
MinioClient minio = bb.ConnectMinIO();//调用连接minio数据库方法
string BuckName = bb.GetBuckName();//调用取桶名称方法
var bucket = minio.BucketExistsAsync(BuckName);//判断桶是否存在
if (bucket.Result == false) //不存在就创建
{
minio.MakeBucketAsync(BuckName);//创建桶
}
#endregion
string base64 = "";
string Operate = "";//操作
MinioStoragePath date = new MinioStoragePath();
var file = SliceUploadData.Where(a => a.FileId == master.FileId).OrderBy(a => a.FileNum).ToList();//查询已经传完的唯一标识数据并以切片顺序排序
if (file.Count != 0)//如果查询数据不为0
{
if (file.Count.ToString() == master.SliceQuantity)//如果已经缓存的文件条数与总条数相等
{
List<byte> combinedList = new List<byte>();
foreach (var item in file)
{
combinedList.AddRange(item.FileBase64);
}
var contentType = file[0].FileCategory;//获取文件类型
//byte[] bt = Convert.FromBase64String(base64);//获取html base64
byte[] bt = combinedList.ToArray();
var uploadTask = minio.PutObjectAsync(BuckName, "/" + file[0].FileName, new MemoryStream(bt), bt.Length, contentType);//上传文件到minio数据库
uploadTask.Wait();
if (uploadTask.Status == TaskStatus.RanToCompletion && !uploadTask.IsFaulted)//判断是否上传成功
{
#region 文件文件夹路径表字段赋值
date.Pk = Convert.ToInt32(db.QueryScalar("select S_MINIO_STORAGE_PATH.nextval from dual"));///拿到表自增长的值赋值给自增长主键pk
date.Upk = file[0].Upk;//子文件夹的父级id如果是根目录默认父级id为0
date.FileName = file[0].FileName;//文件名称
date.FileType = file[0].FileType;//文件类型
date.FilePath = file[0].FilePath;//文件路径
date.CreatorUser = file[0].CreatorUser;//创建者
date.CreatorTime = DateTime.Now;//创建时间
date.ClearFlag = "0";//删除状态为未删除
date.FileLevel = file[0].FileLevel + 1;//层级
date.DocumentType = file[0].DocumentType;//文件种类
#endregion
db.Insert<MinioStoragePath>(date);
request.msg = "文件上传成功!";
request.code = "0";
#region 记录日志
Operate = " 上传了一个新的文档,";
bb.MinioOperationLog(file[0].CreatorUser, file[0].FileName, Operate, date.Pk.ToString(), date.Upk.ToString(), db);
#endregion
SliceUploadData.RemoveAll(a => a.FileId == master.FileId);//清除已经上传文件的缓存
}
else
{
request.msg = "文件上传失败,请检查文件是否正确!";
request.code = "1";
}
}
else
{
SliceUploadData.RemoveAll(a => a.FileId == master.FileId);//清除已经上传文件的缓存
request.msg = "文件数量上传失败,请重试!";
request.code = "1";
}
}
}
catch (Exception ex)
{
request.code = "1";
logger.InfoFormat(ex.ToString());
}
}
return request;
}
#endregion
#region 同步关联
[HttpPost, Route("UdpDlsync")]
public RequestEntity UdpDlsync(string master)
{
RequestEntity request = new RequestEntity();//定义返回集合
List<MinioStoragePath> data = new List<MinioStoragePath>();//定义输出下载的list
List<MinioStoragePath> newdata = new List<MinioStoragePath>();//定义输出下载的list
List<Dlsync> dldata = new List<Dlsync>();//定义输出下载的list
List<MinioStoragePath> datan = new List<MinioStoragePath>();
List<MinioFileassociation> mfcion = new List<MinioFileassociation>();
DataTable dt = new DataTable();
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db"))
{
using (IDbContext filedb = ObjectContainer.GetObject<IDbContext>("filedb"))
{
string sql = "";
data = db.Query<MinioStoragePath>("select * from minio_storage_path where file_type='1' and upk='" + master + "' order by CREATOR_TIME asc").ToList();
foreach (var item in data)
{
//sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName);
sql = string.Format("select g.title,g.username,g.createdate from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') and p.version='{1}' and ROWNUM = 1 order by p.version desc)o where t.classpk = o.fileid)) ", item.FileName, item.Version);
dt = filedb.Query(sql);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
MinioFileassociation dc = new MinioFileassociation();
datan = db.Query<MinioStoragePath>("select * from minio_storage_path where file_name='" + dt.Rows[i]["title"].ToString() + "'").ToList();
if (datan.Count != 0)
{
if (item.DocumentType == "1")
{
if (datan[0].DocumentType == "2" || datan[0].DocumentType == "4")
{
dc.Pk = Convert.ToInt32(db.QueryScalar("select S_MINIO_FILEASSOCIATION.nextval from dual"));
dc.FilePk = item.Pk;
dc.FileName = item.FileName;
dc.CreatorUser = dt.Rows[i]["username"].ToString().Replace(" ", "");
dc.CreatorTime = dt.Rows[i]["createdate"].ToString().ToDateTime();
dc.FilePath = item.FilePath;
dc.FileLevel = item.FileLevel;
dc.DownloadNum = item.DownloadNum;
dc.FileType = item.FileType;
dc.Version = item.Version;
dc.AssociationFilePk = datan[0].Pk;
dc.AssociationFileName = datan[0].FileName;
dc.AssorciationFilePath = datan[0].FilePath;
dc.AssociationFileType = datan[0].FileType;
dc.AssociationFileLevel = datan[0].FileLevel;
dc.AssociationDownloadNum = datan[0].DownloadNum;
dc.AssociationVersion = datan[0].Version;
mfcion.Add(dc);
}
}
if (item.DocumentType == "2")
{
if (datan[0].DocumentType == "3" || datan[0].DocumentType == "4")
{
dc.Pk = Convert.ToInt32(db.QueryScalar("select S_MINIO_FILEASSOCIATION.nextval from dual"));
dc.FilePk = item.Pk;
dc.FileName = item.FileName;
dc.CreatorUser = dt.Rows[i]["username"].ToString().Replace(" ", "");
dc.CreatorTime = dt.Rows[i]["createdate"].ToString().ToDateTime();
dc.FilePath = item.FilePath;
dc.FileLevel = item.FileLevel;
dc.DownloadNum = item.DownloadNum;
dc.FileType = item.FileType;
dc.Version = item.Version;
dc.AssociationFilePk = datan[0].Pk;
dc.AssociationFileName = datan[0].FileName;
dc.AssorciationFilePath = datan[0].FilePath;
dc.AssociationFileType = datan[0].FileType;
dc.AssociationFileLevel = datan[0].FileLevel;
dc.AssociationDownloadNum = datan[0].DownloadNum;
dc.AssociationVersion = datan[0].Version;
mfcion.Add(dc);
}
}
if (item.DocumentType == "3")
{
if (datan[0].DocumentType == "4")
{
dc.Pk = Convert.ToInt32(db.QueryScalar("select S_MINIO_FILEASSOCIATION.nextval from dual"));
dc.FilePk = item.Pk;
dc.FileName = item.FileName;
dc.CreatorUser = dt.Rows[i]["username"].ToString().Replace(" ", "");
dc.CreatorTime = dt.Rows[i]["createdate"].ToString().ToDateTime();
dc.FilePath = item.FilePath;
dc.FileLevel = item.FileLevel;
dc.DownloadNum = item.DownloadNum;
dc.FileType = item.FileType;
dc.Version = item.Version;
dc.AssociationFilePk = datan[0].Pk;
dc.AssociationFileName = datan[0].FileName;
dc.AssorciationFilePath = datan[0].FilePath;
dc.AssociationFileType = datan[0].FileType;
dc.AssociationFileLevel = datan[0].FileLevel;
dc.AssociationDownloadNum = datan[0].DownloadNum;
dc.AssociationVersion = datan[0].Version;
mfcion.Add(dc);
}
}
}
}
}
}
db.Insert<MinioFileassociation>(mfcion);
}
}
return request;
}
#endregion
#region
[HttpPost, Route("UdpDlsyncFile")]
public RequestEntity UdpDlsyncFile(string master,string parentfolderid, string DocumentType)
{
RequestEntity request = new RequestEntity();//定义返回集合
List<MinioStoragePath> data = new List<MinioStoragePath>();//定义输出下载的list
List<MinioStoragePath> newdata = new List<MinioStoragePath>();//定义输出下载的list
List<Dlsync> dldata = new List<Dlsync>();//定义输出下载的list
List<MinioStoragePath> datan = new List<MinioStoragePath>();
List<MinioFileassociation> mfcion = new List<MinioFileassociation>();
DataTable dt = new DataTable();
DataTable dta = new DataTable();
string ctime = "";
string mtime = "";
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db"))
{
using (IDbContext filedb = ObjectContainer.GetObject<IDbContext>("filedb"))
{
string sql = "";
data = db.Query<MinioStoragePath>("select * from minio_storage_path where file_type='1' and upk='" + master + "' order by CREATOR_TIME desc").ToList();
//foreach (var item in data)
//{
//sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName);
sql = string.Format("select * from DLSYNC where parentfolderid='{0}' and (event='update' or event='add') ", parentfolderid, data[0].CreatorTime);
dt = filedb.Query(sql);
string sel = string.Format("select * from minio_storage_path where pk='{0}'", master); ;
dta = db.Query(sel);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
ctime = dt.Rows[i]["CREATEDATE"].ToString();
mtime = dt.Rows[i]["MODIFIEDDATE"].ToString();
MinioStoragePath dc = new MinioStoragePath();
datan = db.Query<MinioStoragePath>("select * from minio_storage_path where file_name='" + dt.Rows[i]["NAME"].ToString() + "'").ToList();
if (datan.Count < 1)
{
dc.Pk = Convert.ToInt32(db.QueryScalar("select s_minio_storage_path.nextval from dual"));
dc.Upk = Convert.ToInt32(master);
dc.FileName = dt.Rows[i]["NAME"].ToString();
dc.FileType = 1;
dc.FilePath = dta.Rows[0]["FILE_PATH"].ToString()+"/"+ dt.Rows[i]["NAME"].ToString();
dc.CreatorUser = "sunliang";
dc.CreatorTime = ctime.ToDateTime();
dc.DownloadNum = 0;
dc.FileLevel = Convert.ToInt32( dta.Rows[0]["FILE_LEVEL"].ToString())+1;
dc.ModifyTime = mtime.ToDateTime();
dc.ClearFlag = "0";
dc.DocumentType = DocumentType;
dc.Version = dt.Rows[i]["VERSION"].ToString();
newdata.Add(dc);
}
}
}
//}
db.Insert<MinioStoragePath>(newdata);
}
}
return request;
}
#endregion
} }
} }

@ -38,14 +38,14 @@ namespace IBKLinker_Minio.Entity.MinioController
///文件类型 ///文件类型
/// </summary> /// </summary>
[Persistent("FILE_TYPE"), DisplayName("文件类型")] [Persistent("FILE_TYPE"), DisplayName("文件类型")]
public string FileType { get; set; } public int FileType { get; set; }
/// <summary> /// <summary>
///文件下载次数 ///文件下载次数
/// </summary> /// </summary>
[Persistent("DOWNLOAD_NUM"), DisplayName("文件下载次数")] [Persistent("DOWNLOAD_NUM"), DisplayName("文件下载次数")]
public string DownloadNum { get; set; } public int DownloadNum { get; set; }
@ -53,7 +53,7 @@ namespace IBKLinker_Minio.Entity.MinioController
///文件层级 ///文件层级
/// </summary> /// </summary>
[Persistent("FILE_LEVEL"), DisplayName("文件层级")] [Persistent("FILE_LEVEL"), DisplayName("文件层级")]
public string FileLevel { get; set; } public int FileLevel { get; set; }
/// <summary> /// <summary>
@ -81,14 +81,14 @@ namespace IBKLinker_Minio.Entity.MinioController
///关联文件类型 ///关联文件类型
/// </summary> /// </summary>
[Persistent("ASSOCIATION_FILE_TYPE"), DisplayName("关联文件类型")] [Persistent("ASSOCIATION_FILE_TYPE"), DisplayName("关联文件类型")]
public string AssociationFileType { get; set; } public int AssociationFileType { get; set; }
/// <summary> /// <summary>
///关联文件下载次数 ///关联文件下载次数
/// </summary> /// </summary>
[Persistent("ASSOCIATION_DOWNLOAD_NUM"), DisplayName("关联文件下载次数")] [Persistent("ASSOCIATION_DOWNLOAD_NUM"), DisplayName("关联文件下载次数")]
public string AssociationDownloadNum { get; set; } public int AssociationDownloadNum { get; set; }
@ -96,7 +96,7 @@ namespace IBKLinker_Minio.Entity.MinioController
///关联文件层级 ///关联文件层级
/// </summary> /// </summary>
[Persistent("ASSOCIATION_FILE_LEVEL"), DisplayName("关联文件层级")] [Persistent("ASSOCIATION_FILE_LEVEL"), DisplayName("关联文件层级")]
public string AssociationFileLevel { get; set; } public int AssociationFileLevel { get; set; }
/// <summary> /// <summary>
///关联文件路径 ///关联文件路径
@ -129,7 +129,7 @@ namespace IBKLinker_Minio.Entity.MinioController
/// <summary> /// <summary>
///关联文件版本 ///关联文件版本
/// </summary> /// </summary>
[Persistent("ASSOCIATION_VERSION"), DisplayName("创建时间")] [Persistent("ASSOCIATION_VERSION"), DisplayName("关联文件版本")]
public string AssociationVersion { get; set; } public string AssociationVersion { get; set; }

@ -0,0 +1,120 @@
using SOA.Persistent;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IBKLinker_Minio.Entity.MinioController
{
/// <summary>
/// 文件上传前端发送model
/// </summary>
public class SliceUploadModel
{
/// <summary>
/// 文件唯一标识
/// </summary>
public string FileId { get; set; }
/// <summary>
/// 文件序号
/// </summary>
public string FileNum { get; set; }
/// <summary>
/// 切片总数量
/// </summary>
public string SliceQuantity { get; set; }
/// <summary>
/// 文件大小
/// </summary>
public string Size { get; set; }
/// <summary>
///子文件夹的父ID
/// </summary>
public int Upk { get; set; }
/// <summary>
///文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
///文件类型
/// </summary>
public int FileType { get; set; }
/// <summary>
///文件路径
/// </summary>
public string FilePath { get; set; }
/// <summary>
///创建者
/// </summary>
public string CreatorUser { get; set; }
/// <summary>
///创建时间
/// </summary>
public DateTime? CreatorTime { get; set; }
/// <summary>
///下载次数
/// </summary>
public int DownloadNum { get; set; }
/// <summary>
///层级
/// </summary>
public int FileLevel { get; set; }
/// <summary>
///修改用户
/// </summary>
public string ModifyUsers { get; set; }
/// <summary>
///修改时间
/// </summary>
public DateTime? ModifyTime { get; set; }
/// <summary>
///文件种类 主要分为1、技术协议、2、质量要点、3、工艺卡 4、其他 用于关联文件使用
/// </summary>
public string DocumentType { get; set; }
/// <summary>
///版本
/// </summary>
public string Version { get; set; }
/// <summary>
///文件格式
/// </summary>
public string FileCategory { get; set; }
/// <summary>
///文件流数据
/// </summary>
public byte[] FileBase64 { get; set; }
}
}
Loading…
Cancel
Save