日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

上传书籍进度信息到服务器...,使用HttpWebRequest实现大文件上传资料.pdf

發布時間:2023/12/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 上传书籍进度信息到服务器...,使用HttpWebRequest实现大文件上传资料.pdf 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Twilight Software Development Studio ? 2011

使用HttpWebRequest 實現大文件上傳

Author:xuzhihong

Create Date:2011-06-03

Descriptions: WinForm 程序使用HttpWebRequest 實現大文件上傳

Url: /blog/static/2673158720115991432899/

概述:

通常在WinForm 程序中都是采用WebClient 方式實現文件上傳功能,本身這

個方式沒有問題,但是當需要上傳大文件比如說(300+M)的時候,那么WebClient

將會報內存不足異常(Out of Memory Exceptions ),究其原因是因為WebClient

方式是一次性將整個文件全部讀取到本地內存中,然后再以數據流形式發送至服

務器。本文將講述如何采用HttpWebRequest 方式每次讀取固定大小數據片段(如

4KB )發送至服務器,為大文件上傳提供解決方案,本文還將詳細講述將如何將

“文件上傳”功能做為用戶自定義控件,實現模塊重用。

關鍵詞:HttpWebRequest、WebClient 、OutOfMemoryExceptions

解決方案:

開始我在 WinForm 項目中實現文件上傳功能的時候,是采用 WebClient

(WebClient myWebClient = new WebClient ();)方式,這大部分情況都是正確

的,但有時候會出現內存不足的異常 (Out of Memory Exceptions ),經常測試,

發現是由于上傳大文件的時候才導致這問題。在網上查閱了一下其他網友的解決

方案,最后找的發生異常的原因:“WebClient 方式是一次性將整個文件全部讀取

到本地內存中,然后再以數據流形式發送至服務器”,詳細請參考:

1

使用HttpWebRequest 實現大文件上傳

Twilight Software Development Studio ? 2011

/b/johan/archive/2006/11/15/are-you-getting-outofmemorye

xceptions-when-uploading-large-files.aspx 。按照這個解釋,那么大文件上傳出現

內存不足的異常也就不足為奇了。下面我將講述如何一步步使用HttpWebRequest

方式來實現文件分塊上傳數據流至服務器。

按照慣例還是先預覽一下文件上傳最后的效果吧,如下圖所示:

界面分為兩部分,上面是文件基本信息,下面是文件上傳自定義控件,我這里實

現的是一個案件上傳多個監控視頻功能。以下是詳細步驟:

第一步:創建用戶自定義控件BigFileUpload.xaml

文件上傳是一個非常常用的功能,為了所寫的程序能非常方便地多次重復使

用,我決定將其處理為一個用戶自定義控件(UserControl )。

我們先在項目中創建一個FileUpload 文件夾,在其目錄下新建一個WPF 自定

義控件文件命名為BigFileUpload.xaml,這樣就表示文件上傳是一個獨立的小模塊

使用。之所以用WPF 自定義控件是因為WPF 頁面效果好看點,而且我想以后可

能大部分C/S 程序都會漸漸的由WinForm 轉向WPF 吧,當然創建Window Forms

用戶控件也是沒有問題的。然后我們需要做一個下圖效果的頁面布局:

2

使用HttpWebRequest 實現大文件上傳

Twilight Software Development Studio ? 2011

前臺設計代碼如下:

xmlns="/winfx/2006/x

總結

以上是生活随笔為你收集整理的上传书籍进度信息到服务器...,使用HttpWebRequest实现大文件上传资料.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。