cuốn sách gpt4 ai đã làm

c# - Đang tải xuống tệp - ngăn tải xuống lần thứ hai cho đến khi hoàn thành lần đầu tiên

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 15:08:28 27 4
mua khóa gpt4 Nike

Có một chức năng mã tải xuống trong dự án ASP.NET của tôi. Mã tải xuống như sau.

lớp công khai Tải xuống: IHttpHandler
{
void void DownloadPsListingProduct(Hướng dẫn nào)
{
đường dẫn chuỗi = GetFilePathFromGuid(which);

Tệp FileInfo = FileInfo mới (đường dẫn);
Phản hồi httpResponse = HttpContext.Current.Response;
phản hồi.ClearContent();
phản hồi.Clear();

reply.ContentType = "ứng dụng/octet-stream";
reply.AddHeader("Bố trí nội dung",
"đính kèm;tên tệp=\"" + file.Name.NeutralizationCrlfSequences() + "\";");

phản hồi.TransmitFile(file.FullName);
phản hồi.Flush();
phản hồi.End();

}

bool công khai có thể tái sử dụng
{
lấy
{
trả về sai;
}
}
}

Mã này hoạt động như một cơ duyên khi tôi tải xuống các tệp đơn lẻ cùng một lúc. Nhưng khi một tệp đang trong quá trình tải xuống và tôi yêu cầu tải xuống một tệp khác, trước tiên nó sẽ đợi tệp đầu tiên được tải xuống và sau đó tệp thứ hai bắt đầu tải xuống.

LƯU Ý: Tôi đang gửi yêu cầu mới để tải xuống từng tệp.

Tôi muốn tránh hành vi tải xuống một tệp này và người dùng sẽ có thể tải xuống tệp mà không cần đợi tệp trước đó hoàn tất.

câu trả lời hay nhất

ASP.NET Web API 2 có thể xử lý vấn đề này một cách rất đơn giản. Có một ví dụ đây , nhưng tôi sẽ nhắc lại những phần quan trọng:

lớp công khai FilesController: ApiController
{
IHttpActionResult công khai (Id tệp hướng dẫn)
{
var filePath = GetFilePathFromGuid(fileId);
var fileName = Path.GetFileName(filePath);
var mimeType = MimeMapping.GetMimeMappting(fileName);
trả về OkFileDownloadResult(filePath, mimeType, fileName, this);
}
}

Tất nhiên, trong ASP.NET Web API 2, định tuyến kết nối, v.v. cũng giống như kết nối IHttpHandler Hoàn toàn khác nhau, nhưng có rất nhiều ví dụ trên internet (bao gồm cả ở đây trên SO) về cách bắt đầu.

Về C# - tải xuống tệp - ngăn tải xuống lần thứ hai cho đến khi hoàn thành lần đầu tiên, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/42245147/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress