Использование управления подключением с помощью .NET - PullRequest
0 голосов
/ 28 октября 2010

Я загрузил исходный проект с веб-сайта, используя как есть, за исключением того, что я изменил целевой файл с upload.php на upload.aspx, который содержит следующий код для получения данных файла:

        int chunk = Request.QueryString["chunk"] != null ? int.Parse(Request.QueryString["chunk"]) : 0;
        string fileName = Path.GetFileName(Request.Files[0].FileName);

        // Read stream
        BinaryReader br = new BinaryReader(Request.InputStream);
        byte[] buffer = br.ReadBytes((int)br.BaseStream.Length);
        br.Close();
        //byte[] appended = buffer.Take(149).ToArray();

        // Write stream
        BinaryWriter bw = new BinaryWriter(File.Open(Server.MapPath("~/uploadfiles" + fileName), chunk == 0 ? FileMode.Create : FileMode.Append));
        bw.Write(buffer);
        bw.Close();

Проблема в том, что когда я загружаю файл jpg или любой другой файл, к каждому фрагменту добавляются и добавляются данные, что, очевидно, приводит к повреждению файла и увеличению его размера.Есть идеи, почему это произойдет?

1 Ответ

2 голосов
/ 11 ноября 2010

Вам нужно читать из Request.Files [0], а не из Request.InputStream.

см. Сообщение Марко: здесь

...