Asp.Net web 文件服務快速搭建

簡述 

    內容具體分為兩種分為上傳和下載部分,服務搭載仍然選擇IIS,內容還是相對簡單,只是內部使用,沒有使用太多的優化的技巧,net環境為4.7

上傳服務

  上傳需要注意的是,HttpPostedFileBase 不支持大文件傳輸,文件達到几M的時候就會溢出,所以需要修改web.config,拓展到1g大小

  <system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
	  <security>
		  <requestFiltering>
			  <!-- 单位:字节(1000M) -->
			  <requestLimits maxAllowedContentLength="1048576000" />
		  </requestFiltering>
	  </security>
  </system.webServer>
	<system.webServer>
		<httpProtocol>
			<customHeaders>
				<add name="Access-Control-Allow-Origin" value="*" />
				<add name="Access-Control-Allow-Headers" value="*" />
				<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
			</customHeaders>
		</httpProtocol>
	</system.webServer>

參考代碼如下

 public  string  UploadFile(String project,String  stage,string item,string mc,string type,string fileid, HttpPostedFileBase file)
 {
     string msg = "";
     if (file != null && file.ContentLength > 0)
     {
    

             // 返回成功消息
             msg = "文件上传成功";
     }
     else
     {
         // 返回错误消息
         msg = "请选择要上传的文件";
     }
    
     return msg;
 }

下載

  下載部分更為簡單,指定服務器的文件所在目錄,可以非常簡單實現文件下載

       public string download(String project, String stage, string item, string mc, string type, string fileid,string filename)
        {

            //Uploads/ok2build/All/TI/SMT前段Process FMEA/通訊錄.xls

            string filePath = Server.MapPath("~/Uploads"+"/"+type+"/"+stage+"/"+mc+"/"+project+"/"+item+"/"+filename);//路径
            FileInfo fileinfo = new FileInfo(filePath);
            Response.Clear();         //清除缓冲区流中的所有内容输出
            Response.ClearContent();  //清除缓冲区流中的所有内容输出
            Response.ClearHeaders();  //清除缓冲区流中的所有头
            Response.Buffer = true;   //该值指示是否缓冲输出,并在完成处理整个响应之后将其发送
            Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
            Response.AddHeader("Content-Length", fileinfo.Length.ToString());
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.ContentType = "application/unknow";  //获取或设置输出流的 HTTP MIME 类型
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); //获取或设置输出流的 HTTP 字符集
            Response.TransmitFile(filePath);

            return "OK";
        }

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET WebForms模板是一种用于创建ASP.NET Web应用程序的模板。在Visual Studio中创建一个新的项目时,可以选择ASP.NET WebForms模板来快速搭建一个基于WebForms的应用程序。ASP.NET WebForms模板提供了一系列预定义的页面和控件,使开发者能够轻松地创建用户界面和处理用户交互。例如,可以使用WebForms模板来创建具有文本框、按钮和其他控件的表单页面,以便用户输入数据并提交表单。该模板还支持使用Master页面进行布局和共享样式,以及使用ASP.NET WebForms的事件模型来处理用户的操作。 ASP.NET WebForms模板在开发企业级应用程序中非常常用,特别是需要快速构建复杂界面和处理复杂业务逻辑的场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [手把手教你创建ASP.NET Web Forms 仪表盘应用](https://blog.csdn.net/AABBbaby/article/details/115367540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ng.NET:使用AngularJS的模板ASP.NET Web项目](https://download.csdn.net/download/weixin_42164931/18411626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [ASP.NET Web Forms - 母版页](https://blog.csdn.net/unbelievevc/article/details/129458549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值