tôi đang sử dụng WebClient để upload dữ liệu sử dụng async cuộc gọi đến một máy chủ,WebClient AsyncUpload tỷ lệ phần trăm tiến bộ luôn luôn trả 50%
WebClient webClient = new WebClient();
webClient.UploadDataAsync(uri , "PUT", buffer, userToken);
tôi đã gắn DatauploadProgress và DatauploadCompleted Sự kiện chức năng gọi lại thích hợp
// Upload Date Progress
webClient.UploadProgressChanged += new
UploadProgressChangedEventHandler(UploadProgressCallback);
// Upload Date Progress
void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
// Magic goes here
logger.writeToLog("Percentage =" + e.ProgressPercentage);
}
các e.ProgressPercentage
luôn luôn trả về 50
.. không có vấn đề gì kích thước của tập tin được tải lên là (đã thử kích thước khác nhau giữa 10kb đến 60mb). chức năng chính nó được gọi chỉ hai lần (thực sự nhanh quá) và tỷ lệ phần trăm cho thấy 50! ..nó là vô lý đặc biệt với các tệp lớn ...
e.BytesSent
không giúp gì cả… nó luôn hiển thị kích thước tệp theo byte: S (ví dụ: nếu kích thước tệp là 63.000, tôi sẽ nhận được e.BytesSent = 63,000
và e.ProgressPercentage= 50
ai đó có thể chỉ là vấn đề ra cho tôi?
UploadDataAsync có thực sự hỗ trợ phương pháp PUT không? – jayarjo