首页 新闻 会员 周边

asp.net mvc上传文件

0
悬赏园豆:50 [待解决问题]

asp.net mvc上传文件 上传文件类型outlook邮件 msg后缀名, 上传之后将路径保存到数据库, 路径我已经存到程序根目录的一个文件里, 后面又如何将展示打开邮件??

大熊仔的主页 大熊仔 | 初学一级 | 园豆:152
提问于:2023-10-27 11:00
< >
分享
所有回答(2)
0

邮件和普通文件没啥区别吧,只要路径能找到那个文件就可以了。

sportdog | 园豆:192 (初学一级) | 2023-10-27 15:18
0

要在ASP.NET MVC中实现文件上传功能,然后将上传的Outlook邮件文件(.msg)的路径保存到数据库,以后能够打开展示邮件,你可以按照以下步骤进行:

创建文件上传表单:在你的MVC视图中创建一个文件上传表单,以允许用户上传Outlook邮件文件。这可以通过HTML表单元素实现。

控制器处理文件上传:在你的MVC控制器中,创建一个处理文件上传的动作方法。这个方法应该使用HttpPostedFileBase类型的参数来接收上传的文件。然后,你可以将文件保存到服务器的特定目录中,同时将文件的路径保存到数据库。

csharp
Copy code
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
string fileName = Path.GetFileName(file.FileName);
string filePath = Path.Combine(Server.MapPath("~/UploadedFiles"), fileName);
file.SaveAs(filePath);

    // 将 filePath 存储到数据库中
    // ...

    return RedirectToAction("Index");
}
return View();

}
显示和打开Outlook邮件:要在网页中显示和打开Outlook邮件(.msg文件),你需要使用第三方库,例如MsgReader。你可以在NuGet中安装MsgReader库。使用MsgReader库,你可以读取.msg文件的内容,然后在网页中显示它们。

csharp
Copy code
var msgPath = "路径从数据库中获取";
var msg = new MsgReader.Outlook.Storage.Message(msgPath);

// 从.msg文件中获取邮件内容、附件等信息
string subject = msg.Subject;
string body = msg.BodyText;

// 在视图中显示邮件内容
ViewBag.Subject = subject;
ViewBag.Body = body;
return View();
创建视图:在视图中,你可以使用ViewBag来显示邮件的主题和内容,并提供一个链接或按钮来打开邮件。当用户点击链接或按钮时,你可以使用JavaScript或后台代码打开邮件。

请注意,要展示Outlook邮件的具体内容,你可能需要使用HTML和CSS来渲染邮件的文本和样式,这取决于邮件的复杂性。 MsgReader库可以帮助你提取邮件的各个部分,然后你可以自定义如何在网页上显示它们。

以上是一个基本的示例,实际应用中可能需要更多的处理和错误检查。确保在文件上传和邮件展示过程中考虑到安全性和性能。

Technologyforgood | 园豆:5675 (大侠五级) | 2023-10-27 17:39

好的 谢谢 我试试

支持(0) 反对(0) 大熊仔 | 园豆:152 (初学一级) | 2023-10-27 18:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册