TAILIEUCHUNG - ASP.NET 4 Unleased - p 23

Chú ý Các thông số kỹ thuật HTML xác định một chấp nhận thuộc tính mà bạn có thể sử dụng để lọc các tập tin có thể được tải lên. Thật không may, trình duyệt không hỗ trợ việc chấp nhận các thuộc tính, vì vậy bạn phải thực hiện lọc trên máy chủ (hoặc sử dụng một số JavaScript để kiểm tra phần mở rộng tên tập tin trên máy khách). | 194 CHAPTER 4 Using the Rich Controls LISTING @ WebHandler Language C Class FileHandlerLarge using System using using using public class FileHandlerLarge IHttpHandler const string conString @ Server . SQLExpress Integrated Security True AttachDbFileName DataDirectory User Instance True public void ProcessRequest HttpContext context false application msword SqlConnection con new SqlConnection conString SqlCommand cmd new SqlCommand SELECT FileBytes FROM Files WHERE Id@Id con @Id Id using con SqlDataReader reader if int bufferSize 8040 byte chunk new byte bufferSize long retCount long startIndex 0 retCount 0 startIndex chunk 0 bufferSize while retCount bufferSize chunk startIndex bufferSize retCount 0 startIndex chunk 0 bufferSize From the Library of Wow eBook Displaying a Calendar 195 byte actualChunk new Byte retCount - 1 chunk 0 actualChunk 0 int retCount - 1 actualChunk public bool IsReusable get return false 4 The HTTP Handler in Listing uses a SqlDataReader to retrieve a file from the database. The SqlDataReader is retrieved with a parameter that enables the SqlDataReader to load data as a stream. The contents of the database column are pulled into memory in 8 040-byte chunks. The chunks are written to the browser with the method. Response buffering is disabled for the handler. The property is set to the value False. Because buffering is disabled the output of the handler is not buffered in server memory before being transmitted to the browser. WARNING The method of working with large files described in this section only works with SQL

TÀI LIỆU MỚI ĐĂNG