数据库储存照片(文件)和mvc中的导入

数据库储存照片(文件)和mvc中的导入

一:数据库中储存照片的两种方法:

(1):将照片的名字储存在数据库中,照片储存在项目中;

(2):将照片转换成二进制数据储存在数据库中;

// HttpPostedFileBase 用于接收客户端(浏览器)传递过来的文件

public ActionResult InsertStudent(HttpPostedFileBase upImage)

{

(1): 将照片的名字储存在数据库中,照片储存在项目中;

//检查文件存放目录是否存在    

// Directory.Exists(物理路径)

// Server.MapPath("虚拟路径")==转化为==>物理路径  {就是将相对路径转化为绝对路径}                          

if (!System.IO.Directory.Exists(Server.MapPath("~/Document/studentPicture/"))) 

{                                 

 System.IO.Directory.CreateDirectory(Server.MapPath("~/Document/studentPicture/"));

 }

//判断是否上传了文件

// upImage.ContentLength判断文件的大小

if (upImage != null && upImage.ContentLength > 0)

{

//创建扩展名

string srtrEx = System.IO.Path.GetExtension(upImage.FileName);

//创建文件名称

string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + "_" + Guid.NewGuid().ToString() + srtrEx;

//创建文件的路径

string filePath = Server.MapPath("~/Document/studentPicture/") + fileName;

//将照片名称保存到项目中

upImage.SaveAs(filePath);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,针对您的问题,我可以提供以下思路: 1. 在前端页面添加一个input type="file"的控件,用于选择多张图片文件。 2. 使用JavaScript监听input控件的change事件,获取用户选图片文件。 3. 将选图片文件通过FormData对象上传到后台,后台接收到文件后,将文件保存到服务器的指定目录下,并将文件名插入到数据库。 4. 在前端页面使用JavaScript动态创建img元素,将上传的图片文件以预览的形式展示出来。 以下是一个简单的示例代码,供您参考: 前端页面代码: ``` <input type="file" id="fileInput" multiple> <div id="preview"></div> <script> var fileInput = document.getElementById("fileInput"); fileInput.addEventListener("change", function() { var files = fileInput.files; for (var i = 0; i < files.length; i++) { var file = files[i]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function() { var img = document.createElement("img"); img.src = this.result; document.getElementById("preview").appendChild(img); } var formData = new FormData(); formData.append("file", file); var xhr = new XMLHttpRequest(); xhr.open("POST", "/Upload/UploadFile"); xhr.send(formData); } }); </script> ``` 后台代码(C# MVC): ``` [HttpPost] public ActionResult UploadFile() { var file = Request.Files[0]; var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Uploads"), fileName); file.SaveAs(path); InsertIntoDatabase(fileName); return Content("上传成功!"); } private void InsertIntoDatabase(string fileName) { // 将文件名插入到数据库 // 例如: // var db = new MyDbContext(); // var image = new Image { FileName = fileName }; // db.Images.Add(image); // db.SaveChanges(); } ``` 上述代码,前端页面的input控件id为fileInput,预览图片的容器id为preview;后台代码,上传文件的保存路径为~/Uploads目录下,同时将文件名插入到数据库。 希望这些信息能对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值