c# - 如何使用实体框架将文件上传到一个列到服务器?
问题描述
如何在一行中上传/保存文件?
我编写的代码是创建两行并将其他字段保留为空,然后将其他文件插入新行以代替第一行中的空值。这是插入到 db 中的图像:
这是我想要插入的东西:
检查上传输入是否有文件后,如何使代码将文件插入一行?
if (resume.HasFile == true && resume.PostedFile.ContentLength > 0)
{
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(resume.FileName);
string extension = Path.GetExtension(resume.FileName);
string resumeName = "resume" + extension;
BinaryReader Binary_Reader = new BinaryReader(resume.PostedFile.InputStream);
byte[] File_Buffer = Binary_Reader.ReadBytes(resume.PostedFile.ContentLength);
Binary_Reader = new BinaryReader(resume.PostedFile.InputStream);
File_Buffer = Binary_Reader.ReadBytes(resume.PostedFile.ContentLength);
myServiceCP.LicenseApplicationAttachments.Add(new LicenseApplicationAttachment
{
resumeName = resumeName,
CompanyName = control.CompanyName,
userid = Guid.NewGuid(),
resumeContentType = resume.PostedFile.ContentType,
resumeExtension = Path.GetExtension(resume.PostedFile.FileName),
resumeSize = resume.PostedFile.ContentLength,
resumeContent = File_Buffer
});
}
if (cv.HasFile == true)
{
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(cv.FileName);
string extension = Path.GetExtension(cv.FileName);
string cvFileName = "cv" + extension;
BinaryReader Binary_Reader = new BinaryReader(cv.PostedFile.InputStream);
byte[] File_Buffer = Binary_Reader.ReadBytes(cv.PostedFile.ContentLength);
Binary_Reader = new BinaryReader(cv.PostedFile.InputStream);
File_Buffer = Binary_Reader.ReadBytes(cv.PostedFile.ContentLength);
myServiceCP.LicenseApplicationAttachments.Add(new LicenseApplicationAttachment
{
cvFileName = cvFileName,
CompanyName = control.CompanyName,
cvContentType = CapitalStructureShareHoldingFile.PostedFile.ContentType,
cvExtension = Path.GetExtension(CapitalStructureShareHoldingFile.PostedFile.FileName),
cvFileSize = CapitalStructureShareHoldingFile.PostedFile.ContentLength,
cvFileContent = File_Buffer
});
}
myServiceCP.SaveChanges();
}
解决方案
您应该有一个变量并添加您必须开始的信息,然后在您的 if 语句中将您需要的信息添加到您的变量然后将变量添加到您的数据库
像这样:
if (resume.HasFile == true && resume.PostedFile.ContentLength > 0)
{
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(resume.FileName);
string extension = Path.GetExtension(resume.FileName);
string resumeName = "resume" + extension;
BinaryReader Binary_Reader = new BinaryReader(resume.PostedFile.InputStream);
byte[] File_Buffer = Binary_Reader.ReadBytes(resume.PostedFile.ContentLength);
Binary_Reader = new BinaryReader(resume.PostedFile.InputStream);
File_Buffer = Binary_Reader.ReadBytes(resume.PostedFile.ContentLength);
var applicationToAdd = new LicenseApplicationAttachment
{
resumeName = resumeName,
CompanyName = control.CompanyName,
userid = Guid.NewGuid(),
resumeContentType = resume.PostedFile.ContentType,
resumeExtension = Path.GetExtension(resume.PostedFile.FileName),
resumeSize = resume.PostedFile.ContentLength,
resumeContent = File_Buffer
};
if (cv.HasFile == true)
{
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(cv.FileName);
string extension = Path.GetExtension(cv.FileName);
string cvFileName = "cv" + extension;
BinaryReader Binary_Reader = new BinaryReader(cv.PostedFile.InputStream);
byte[] File_Buffer = Binary_Reader.ReadBytes(cv.PostedFile.ContentLength);
Binary_Reader = new BinaryReader(cv.PostedFile.InputStream);
File_Buffer = Binary_Reader.ReadBytes(cv.PostedFile.ContentLength);
applicationToAdd.cvFileName = cvFileName;
applicationToAdd.CompanyName = control.CompanyName;
applicationToAdd.cvContentType = CapitalStructureShareHoldingFile.PostedFile.ContentType;
applicationToAdd.cvExtension = Path.GetExtension(CapitalStructureShareHoldingFile.PostedFile.FileName);
applicationToAdd.cvFileSize = CapitalStructureShareHoldingFile.PostedFile.ContentLength;
applicationToAdd.cvFileContent = File_Buffer;
}
myServiceCP.LicenseApplicationAttachments.Add(applicationToAdd);
myServiceCP.SaveChanges();
}
推荐阅读
- javascript - 将 observable 数组的 observable 转换为数组的 observable
- ios - Xamarin LaunchImage 未在 ImageView 属性中列为源
- r - 在非常大的数据帧上处理计算的更快方法
- rust - Rust 内循环导致双重可变借用
- java - Wildfly 17.0.1.Final 上的部署问题
- .net - Xunit 未在 Visual Studio 2019 中运行某些测试
- maven - [Intellij][Maven] 如何使用项目作为对另一个项目的依赖
- robotframework - 使用Robot框架评估后如何使用0获取月份格式
- sql - PostgreSQL,插入前检查重复
- python - 使用 Python 构建 RPC 服务集群