如何使用ASP.. NET FileUpload in 3-tired webApp
本文关键字:in 3-tired webApp FileUpload NET 何使用 ASP | 更新日期: 2023-09-27 17:51:19
我有一个3累的webApp,包括:
- BLL (Business Logic Layer)
- DAL(数据访问层)
——网站
前两个是Class Library
,最后一个顾名思义是一个网站。问题是如何使用ASP。Net fileUpload
在这个3累的webApp中,为了编写一个逻辑上分离的代码,以最高的运行时间速度。事实上,我不知道在哪里(BLL或网站?)我应该为fileUpload验证编写代码,减少用户发送的图像大小,和…
编辑:Code What i Tried
protected void btnUpload_Click(object sender, EventArgs e)
{ ''get and check extension ,check file size
string path = Server.MapPath(".");
FileUpload1.PostedFile.SaveAs(path+ "''"+FileUpload1.PostedFile.FileName); ''reduce image size and save again
}
从你的问题来看,它似乎不是SOA应用程序,逻辑应用程序层被分割并运行在相同的服务器上,并且可能在相同的应用程序域中作为类库。这简化了担心传输数据的需要,因为您可以在层之间传递对数据流的引用。
这取决于你对文件所做的事情,以及上传的次数将影响实现这一目标的最佳方式。
简单的选项是
- 在网站上接收文件并将输入发送到流
- 发送流到BL验证(文件类型,大小,创建缩略图等)
- BL将流发送到DL(如果您正在将其写入数据库)
如果您不打算写入数据库,那么BL或Facade可以写入磁盘或发送到其他地方。
如果你打算上传很多文件,并且你要处理它们(即调整大小,创建缩略图等),那么考虑一个好的队列系统可能是有益的。
在网站项目中,在你的UI后端,你应该编写代码来获取文件的路径,或者如果你正在将图像转换为字节,那么准备字节数组或路径字符串,你想保存。
之后,它将调用包含用于存储数据的方法的业务端类
,最后业务层类调用数据访问层将数据存储到数据库。
,这样你的代码就可以获得三层架构