Tôi đang tải tệp lên từ phía máy khách bằng javascript ajax mà tôi chia thành các phần và trong máy chủ khi tất cả các phần được nhận tôi tham gia cùng chúng. Nhưng vấn đề là mặc dù tệp gốc và tệp được tải lên có cùng kích thước nhưng cả hai đều khác nhau. Ý tôi là file gif khi tôi xem khác nhau của nó và cùng với mã phía Video files.clientkhông thể tách tệp và gửi và sau đó tham gia vào máy chủ
var xhr = new XMLHttpRequest();
var tempBlob = blob;
var blobOrFile = tempBlob.slice(fileDataStart, fileDataSent);
xhr.open('POST', '/Portfolio/UploadBinaryFiles', false);
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("X-File-Name", fileName);
xhr.setRequestHeader("X-File-Size", fileSize);
xhr.setRequestHeader("X-File-BytesSent", fileDataSent);
xhr.setRequestHeader("X-File-SplitCounter", fileSplitCounter);
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.send(blobOrFile);
mã phía máy chủ để tham gia
FileStream fsSource = new FileStream(FileOutputPath, FileMode.Append);
// Loop through all the files with the *.part extension in the folder
foreach (FileInfo fiPart in diSource.GetFiles(@"*.part"))
{
// Create a byte array of the content of the current file
Byte[] bytePart = System.IO.File.ReadAllBytes(fiPart.FullName);
// Write the bytes to the reconstructed file
fsSource.Write(bytePart, 0, bytePart.Length);
}
để lưu file được chia nhỏ trong máy chủ
// Read input stream from request
byte[] buffer = new byte[Request.InputStream.Length];
int offset = 0;
int cnt = 0;
while ((cnt = Request.InputStream.Read(buffer, offset, 10)) > 0)
{
offset += cnt;
}
// Save file
using (FileStream fs = new FileStream(fullNameNoExt, FileMode.Create))
{
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
}
Đây có phải là MVC không? WebAPI? WebForms? – Fals
đây là mvc ... tất cả các mã máy chủ đều nằm trong bộ điều khiển được gọi là ajax – manishkr1608
có thể trùng lặp của [Làm thế nào để thực hiện một bài đăng mẫu ASP.NET MVC Ajax với multipart/form-data?] (Http://stackoverflow.com/question/581703/how-to-do-a-asp-net-mvc-ajax-form-post-với-multipart-form-data) – Fals