如何使用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      
   }

如何使用ASP.. NET FileUpload in 3-tired webApp

从你的问题来看,它似乎不是SOA应用程序,逻辑应用程序层被分割并运行在相同的服务器上,并且可能在相同的应用程序域中作为类库。这简化了担心传输数据的需要,因为您可以在层之间传递对数据流的引用。

这取决于你对文件所做的事情,以及上传的次数将影响实现这一目标的最佳方式。

简单的选项是

  1. 在网站上接收文件并将输入发送到流
  2. 发送流到BL验证(文件类型,大小,创建缩略图等)
  3. BL将流发送到DL(如果您正在将其写入数据库)

如果您不打算写入数据库,那么BL或Facade可以写入磁盘或发送到其他地方。

如果你打算上传很多文件,并且你要处理它们(即调整大小,创建缩略图等),那么考虑一个好的队列系统可能是有益的。

在网站项目中,在你的UI后端,你应该编写代码来获取文件的路径,或者如果你正在将图像转换为字节,那么准备字节数组或路径字符串,你想保存。

之后,它将调用包含用于存储数据的方法的业务端类

,最后业务层类调用数据访问层将数据存储到数据库。

,这样你的代码就可以获得三层架构