实现MVP模式的文件上传
本文关键字:文件 MVP 模式 实现 | 更新日期: 2023-09-27 17:53:56
我是MVP模式的新手。我不太清楚在哪里编写逻辑来将文件上传到服务器,然后在上传后执行一些验证步骤和数据库操作。请建议。
public interface IPresenter
{
void UploadFile(string fileName); //For simplicity, file name is passed;
//it can be declared as a property
}
public interface IDefaultView
{
void Upload();
}
public class DefaultPresenter : IPresenter
{
protected DefaultPresenter() {}
public DefaultPresenter(IDefaultView defaultview)
{
this.defaultView = defaultView;
}
public void UploadFile(string fileName)
{
//Do I need to write saving functionality here or call
//defaultView.Upload(fileName)?
//
//From online articles, I have seen all business functionality written here.
//But I think I will not be able to use System.Web in this layer.
}
}
public partial class UploadExtract: IDefaultView
{
public void Upload(fileName)
{
}
}
您将无法在业务逻辑中使用System.Web
。事实上,你不应该。
可以对控制器进行编码,使其接受来自客户机的文件,并将其保存在本地服务器的某个地方。然后,将文件名传递给业务逻辑层以进行进一步处理。
和你的后续问题:
。我正在将文件读入内存流。通过合适吗将内存流传送给演示者,在其中执行业务逻辑演示者,最后在视图中设置文件上传状态?
是的,这也可以:传递流而不是文件名。