Przesyłam plik od strony klienta przy użyciu ajax javascript, który dzielę w porcjach i na serwerze, gdy wszystkie porcje są otrzymywane i dołączam do nich. Problem polega jednak na tym, że chociaż oryginalny plik i przesłany plik są tego samego rozmiaru, ale oba są różne. Znaczy GIF kiedy zobaczyć jej różne i to samo z files.client wideo kodu po stronienie można podzielić pliku i wysłać, a następnie dołączyć do serwera
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);
kod po stronie serwera, aby dołączyć
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);
}
zapisać podzielić plik serwer
// 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();
}
Czy to jest MVC? WebAPI? WebForms? – Fals
to jest mvc ... cały kod serwera jest w kontrolerze, który jest wywoływany przez ajax – manishkr1608
możliwy duplikat [Jak zrobić post formularza Ajax ASP.NET MVC z wieloczęściowego/formularza danych?] (Http://stackoverflow.com/questions/581703/how-to-do-a-asp-net-mvc-ajax-form-post-with-multipart-form-data) – Fals