Исключение ProtocolViolation по запросу stream.write() в Windows Mobile 6.5

В моем приложении для Windows Mobile я пытаюсь записать видеофайл с границами. Если я устанавливаю границы, я получаю исключение протокола, но если я не использую никаких границ, все работает нормально.

Ниже мой код

Stream requestStream = request.GetRequestStream();
        byte[] boundaryData = System.Text.Encoding.ASCII.GetBytes(twoHyphens+boundary+lineEnd);
        byte[] boundaryData1 = System.Text.Encoding.ASCII.GetBytes(twoHyphens + boundary + twoHyphens + lineEnd );

        String headertemp = "Content-Disposition: form-data; name=\"uploadedfile\";filename=\""+ GetCamera.videoFilePath+ "\""+ lineEnd;
        byte[] headerData = System.Text.Encoding.ASCII.GetBytes(headertemp);
        byte[] lineend = System.Text.Encoding.ASCII.GetBytes(lineEnd);

        requestStream.Write(boundaryData, 0, boundaryData.Length);
        requestStream.Write(headerData, 0, headerData.Length);
        requestStream.Write(lineend, 0, lineend.Length);
        using (Stream video = File.OpenRead(GetCamera.videoFilePath))
        {
            byte[] buffer = new byte[1024];

            while ((bytesRead = video.Read(buffer, 0, buffer.Length)) > 0)
            {
                requestStream.Write(buffer, 0, bytesRead);
            }
        }
        requestStream.Write(lineend, 0, lineend.Length);
        requestStream.Write(boundaryData1, 0, boundaryData.Length);
        requestStream.Close();
        requestStream.Dispose();

Пожалуйста, помогите мне решить эту проблему.

Пожалуйста, перешлите ваши ценные предложения.


person Remmyabhavan    schedule 26.05.2011    source источник


Ответы (1)


Я не знаю причину, но когда я увеличил значение свойства длины содержимого, все заработало нормально.

person Remmyabhavan    schedule 28.05.2011