Question

I'm using YUI 3 as an uploader control. I've created a WebAPI method that accepts POST transactions from YUI. When the HTML5 uploader is used, all works wonderfully. However, when I force it to Flash for testing, I'm encountering an error in my WebAPI method.

WebAPI

public async Task<HttpResponseMessage> Post()
{
    if (!Request.Content.IsMimeMultipartContent())
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);

    string root = HttpContext.Current.Server.MapPath("~/App_Data");
    var provider = new MultipartFormDataStreamProvider(root);

    try
    {
        await Request.Content.ReadAsMultipartAsync(provider);

        int reviewId;
        if (!Int32.TryParse(provider.FormData["ReviewId"], out reviewId))
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, new Exception("Invalid Review ID"));

        foreach (MultipartFileData file in provider.FileData)
            ProcessFile(reviewId, file);

        return Request.CreateResponse(HttpStatusCode.OK);
    }
    catch (Exception ex)
    {
        return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
    }
}

I'm getting the following error when calling

await Request.Content.ReadAsMultipartAsync(provider):

Unexpected end of MIME multipart stream. MIME multipart message is not complete.

Again, the exact same WebAPI function works when the HTML5 uploader is sending the file so there must be some difference I'm not accounting for. For sake of completeness, here is the HTTP request:

POST http://localhost:11185/api/file HTTP/1.1
Host: localhost:11185
Connection: keep-alive
Content-Length: 7174
Origin: http://localhost:11185
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Content-Type: multipart/form-data; boundary=----------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6
Accept: */*
Referer: http://localhost:11185/review/449913
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

------------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6
Content-Disposition: form-data; name="Filename"

576619_334492516619692_690003897_n.jpg
------------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6
Content-Disposition: form-data; name="ReviewID"

449913
------------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6
Content-Disposition: form-data; name="Filedata"; filename="576619_334492516619692_690003897_n.jpg"
Content-Type: application/octet-stream

�����JFIF���������*���ICC_PROFILE���lcms��mntrRGB XYZ �����)�9acspAPPL����������������������������������-lcms�����������������������������������������������
desc�������^cprt��\���
wtpt��h���bkpt��|���rXYZ������gXYZ������bXYZ������rTRC������@gTRC������@bTRC������@desc�������c2����������������������������������������������������������������������������������text����FB��XYZ ��������������-XYZ ��������3���XYZ ������o���8����XYZ ������b��������XYZ ������$��������curv������������c�k
�?Q4!�)�2;�FQw]�kpz���|�i�}���0�����C�



%# , #&')*)-0-(0%()(���C



(((((((((((((((((((((((((((((((((((((((((((((((((((��������"�����������������������������������������������������������
�W��w��6����4d�b����h-�暖@�Z9#I
��\���]V��J�\}C��e)�vjC,�m2܈�c��e� $w)������9͑����K!%�LT��]G*N�s
��8�x"����!L�r�3��7*�����SR1���Ch���n�V+�g��Ņc
ֵ^YW�f*���D��H��G����D���Q
��d�Jrkfɩ,��א,�
c��"ķ<�c
��u1XX��6*d.Y�ê��j�)��9]i:Nz�7��ˢ�)H��®���&���U�/�ǭ4��d〬O��9`��ǽ-y(b�j�9�ll�b�Մt]��H��9��K]X���$X�W���H].tw1���4���D�dW����>�҃�s������-8�;�g7l.�����<�m���%=�,���(�D��V$94���*��������!"12 $3A#05�������^VEx�`uK�s��,Sc@�p��c٩[��<I��fxq��+nfe.:t���{v��(��o��SP�E�t,s̫p���'���6[�nLkn�R�m�A!�}�K!�����˺砚�knhm"^SY�t��+�xr��k���L�~1�ڡܭy�P���O���M�_�&��o����;Ν�ط���������@��E��v7�qUP8�c(XL�]���8Y��]��'��Nt��P���u"׵���j�8�8�S    �rB��Q�s��,�->����w�XB�HJ��=YO{m1��"[ZKj/;�dD���ʛZ��W���6�,eΩ:�A��5�e`54"�dAZW'Ջ���_�6���+%xI�P��T7�.�k�G���=PRV��m�P㌪�����Wu#Q>�o���g�*��01�lc���]�g�0��Η���F�~8�ǽMWPt���O a�qߎע7�55�i�q�a����z9>�*�ɼG@��T~���pK���1���۔�l�3���G��T�k�u{���:��0�|��)ѹ��m����3j��5cdٍb���L�y8��e;�
�
�<gb;q�zy��Y׳����1ɌӤ�㓞��s#�=�[ɑ@�����5��
���dy;vŧ�d.5*�������t�f�_Y�ɦ�59*��O�N@�'�s}�������;����9�rЖ�V3U)/�ӌ��Σ`Z����şٛ�tD�.�:�� H��[�k5�
juW���W���`��������r���H�88�����Ex~�g�Y�{���g�Y�{��d��!�U���6׋_�Y��������������� !102���?��E�uG���=<�n����x���H�M1C�G�[f���:x�kL�p���rC1����"�����������! 1"Aq���?ەzZr�=9Q�d�)���ݲ-Q�1jŬ���>�V�MZ>
��%E��rJC�w�۪U+/��/K'��?L�?dz��e��m?[�.�v��1�%�umv�W����WT�����?���3��������!1A 2a"0Qq#3BR���r��@b������?��J�e6��D�:�X3�$�(�ݦ>�����,�gr��5�5c���^�������˘,���s���%ӚP�;�,��Z�%�@ "8��ӥ��Ip)0?q^�hF�IFvW�fa�N�K�W������);(P�MhA_D��4���KM����\vO�o�ThW]۟�f��`��))��[L&i+�٘F�j���L�
�'�DW�O��3�nc�]���,�H�Z�t/l
-x�����dڍ�㢰���A+�w.�K�,h�uK�х��Ӕw�]�����ҵZ��>����.w�d��t�i���,��Ût�������^�xS2��S�.9B��Y:��:��/�ԥ��C�J��d��H]\�*6xg���S`o觎e˴C�P�>e?U
\OU0�P�����o5#����VwªRw��PlB�:YtVS�-Nα���j�ca�v�~�U����``�6R@
�.@���Vi�VZ��*84_t��}��\����GW�Y�vy�+)*�gr쬘��i��|��3Q�ػ�}U�T[��&7�=O���U8SA4m��� 3��vR��2��T.:�?���'�������!1AQaq������ ��������?!�'��  �   ��?�HI��2]�x�ɈCK�[,Q��B�:��
�]���p��H!h���k\�y�$N'q��$/�"�B/z}����/Ȭ~�YHn�F�,3���7�E���#�4kcV�oB0�![t�kZ�L��jX|�0'nQc]�O��d��ouK8\��ov��ĵ���+'DMY���6���bL�
��N�'EСM���6�-�A,����d��
�x��%��A1R���ZX>�j�Ѐ$
��k��Xܛg�{')�x]�H��טm�D�i�#dlr3M�y7(�4FD�#�bI.���UV]�*(�_��)�<"ET�T
�ȽQ$m$� �n��5b�3$�,��
�J� �#r$�񵵐h�<>脢"�t3����M��Tp���-�AZ�i�r0��r��/�F*G%d�?���y
��"qP����ERHĜ���s%9e�-���r!�ن��bFwoDf�4k(����\��F?R(Z
�[Au�I��At�:d�^�ﭕ*�QX�rgP6m���m�"V)���:����dю%)P�l�O2Y$LT^<V���(@$D������ōi���j�@�v>U}X�
2CZ���\�u��C�������s�n�z�)��(�����
�ztoa�Dr��5�܉��Yz�ʏ�pw�+�-$ˤ����~�h��!2$��6z���F��H��Q��ֈ�s[���
Mo��;M�'�bu�w*jʲ�i�
p~�hV�6-�@��h��e2�c��?��"E�D0�e��)�R�aح�]�GP���NH�1W4$�M:rD����������mCn=H��pLZ?,sl8��l���Bl/��D��%���GO
r^-k^��V7n (�ܾτ�+�NR�   ��������_��\�ԟcؾkY�U�i��2�N+�:D�E�r���y\��٪>�0:�,�����`d��A v��k�
aͦ���J��#��N��
�J�ӫ)�:iZC�6BD�B(�1}�   L���,�*��$

�l9��n��}�;�ޏX��.ħ��v"\䌴>�w��Y�������8��D���[�����f�Q�փ-b^��    ��S%�4�24!�'��E���(�'��hR#��ЩC"x쵩�,v;�����������!1AQa���?����%��;ᯓ��b�d�{��3��k�o!~��v_���e���_dv�eZ��-Y���~X��՗����g�0�e�L�-
�,���O���X|_o�۩l�6`ɴx��X[��%?.ZX:]E��������������!1AQa����?�X�I}���/Sm��m�$�//����JxZ�
�Λn��@�u�   �@�n�
&]��~�~'��#���0
;��<NG�����u&�.�^e�&����khK�sul���ߨ��ê?��u���~����_�'�=���?8����&�������!1AQaq��������������?)��α�W{���\-j*��`"yWA��VV+X�6�&P
!kY���l|Ī�5�f0��%�-�DY1�-C� ���)%(��
}��J�LH�8��M�����Ș�YJ�t*��-|CU,�ŏ�y�K�|��C2�-bcZ�T"Ջ�j���cR����<��l^���i��s���w�P�e��m�E������
1�w�zbY�2�3�_E�Ə�;�2�]Uj���
��YX�'nԿ
�]�k{����_� i�fH0P"�/ș�3(����;����l�N�uX�   �9�:R�6�fӚ��/�����o�V�K��3m����v>��Q՗P��6���DQe�����������u1X�s@ԯ������7�exW�ry�1P�u,���1�����r��NE׶R8湇�ʸ�t,�>�G�F����AՔ�2�/�v!p��
�K���Z��/l
�\�!�>Y��\���,���   �m;/��b�w�m&����e�����J���~�eWR��!�O�T�E��ܾ~*�D���k����6�@�r���SD�НCB��tx�������q�@aw�$�q������w�������N�P�/�@����O�ʽ���`�f�Z�c��mҥ����X��-��ܲԙ;!��q�Ef�l:��*���Q�+W�q��=J�J��
Ų�]Tй-F$
@�7��0�tX�n
\
��-89F�a�F�~b\�q�   �h���Ն�ß�ڳ*���߮�;��,�'lq���Qj��F�ۛ�2.n��-<���-�)���<�n�c��L���| ���G�r��4�������܉��L@7���%��c�6yX��q�lz�P�`V�Ы8{�c�Y�]J$`�+���U���*Ŋ����u�nMF*�vc�qg�B�(]��0��ڈڙ|\�;>������0gA��
�ӓ��_�Ԅ�V�}\I�@8�t:^‍���J<��{��
�   m������IXn'���.*�/D*��S�6�ڕ�6WT�g�KQ���[!w�?�~#Q���e �"�'+��uW�*cP��u�/7���R���T+S�LTZuq���u0�h��:j�Q��Ө�jݮ(f�
�J��ZoR�A���!��t�AaH�BWF�
ۇ�L!��i�`P���
���gL}�^o�,���p?��)U��".&r��
�#R�\���ʫ����Q�K�
����cb�OL��(}����>"��"R�!T@:��Π!Wmc�4���C��4���g��,�$V��C/�h9��Z%��%+x^w�E�ñj��7&������?�K�� Yl���6e��(j-����R��%0e�l�5��$q
���G����3q|���n� ͹b�V�T<_�@������2�טƐ2�F6�6���Ĵ�U��������75jy>�)��
H9��$�A�������)�?0_�ª)<Jc���
��>L�D�g�t�n��w��+!e>H  P��-`��(7��&6� �ĠU�����>2�  �_��r�"�d�1e��B�`o�n�_-��[�M�s6�52�Cm��xc����z�Al=�zA;�&���D�^o������.�GȨ�b�Y��n�庈��`WXz���Xb�'@�� �2*�yQo1��>U)��&ᦥ�����m͑s[�x��HuY�<�G�j?P,0�����/�]qp\�q]@��Kh��ID7����pIEԠU{�s���@���^�N�0�xo=L]6(���W0�j�0�/.�s3TL�F��V�����X���4Qx1|�:.��[x~f~���v~�\���1��̯��M#�d{��eܞ<�UV�'���
��3�5,h������
------------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6
Content-Disposition: form-data; name="Upload"

Submit Query
------------ae0ae0Ij5cH2GI3KM7Ef1Ef1ei4gL6--
Was it helpful?

Solution

Upgrading the ASP.NET WebAPI NuGet package to the latest version solved the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top