0

asmx Web サービス経由でファイルをアップロード中に問題が発生しました。

ここに私のHTMLコードがあります:

<form method="post" action="/_wscommunity_/PublicCommunity.asmx/UploadTempPicture"      encoding="multipart/form-data" enctype="multipart/form-data" id="form_upload" target="upload_target">
<input type="file" name="file[]" id="file_upload">
<input type="submit" name="action" value="Upload">
<iframe name="upload_target" id="upload_target">&nbsp;</iframe>
</form>

OnChange イベントの Javascript ファイル:

$("form_upload").target = 'upload_target'; 
$("form_upload").submit();

フォームが送信されると、 POST で受け取ります:

パーツ multipart/form-data

file[] GIF89a �÷��������3��f����Ì��ÿ�+��+3�+f�+�+Ì�+ÿ�U��U3�Uf� U�UÌ�Uÿ�3�f��Ì�ÿ�ª��ª3�ªf�ª�ªÌ�ªÿ�Õ��Õ3�Õf�Õ�ÕÌ�Õÿ�ÿ��ÿ3�ÿf� 後足33+F3+3+¯3+3u�3u33uf3u3u§3uÿ3�33f33333333333ª�333ªf3ª33℃33+33+F3+3+3+¯3+3+33�f3�3�®3�3+�3+33�f3�3�3�3+�3+ ìf�f+�F+3F+ff+f+ìf+Fu'fu3fuffufufufhffffff¯ffh'fª3fªffªfªìfªÿfõfõ3ffhff¯f¯f¯ffÿ�fh3f3ffffff便日\ u+u+\ u+\ u+\ u+u+\ u+u+u+ 3fÌÿª�ª3ªfªªÌªÿÕ�Õ3ÕfÕÕÌÕÿÿ�ÿ3ÿfÿÿÌÿÿÌ��Ì�3Ì�fÌ�Ì�ÌÌ�ÿÌ+�Ì+3Ì+fÌ+Ì+ÌÌ+ÿÌU�ÌU3ÌUfÌUÌUÌÌUÿÌ�Ì3ÌfÌÌÌÌÿ̪�̪3̪f̪̪Ì̪ÿÌÕ�ÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿ�Ìÿ3ÌÿfÌÿÌÿÌÌÿÿÿ��ÿ�3ÿ�fÿ �°ìちゃ°+�ÿ+3θ+fÿ+¹+ìちゃ+fuu u3uhufuu¯uイド �� ����÷ H° A�*\È0 �;

ソース -----------------------------292403007321689

Content-Disposition: form-data; name="file[]"; filename="Untitled.gif"
Content-Type: image/gif

GIF89a �÷�������3��f����Ì��ÿ�+��+3�+f�+�+Ì�+ÿ�U�U3�Uf�U�UÌ �Uÿ���3�f��Ì�ÿ�ª��ª3�ªf�ª�ªÌ�ªÿ�Õ��Õ3�Õf�Õ�ÕÌ�Õÿ�ÿ��ÿ3�ÿf�ÿ�ÿÌ �°3��3�33�f3�3�ì3�°+�3+33+F3+3+ì3+¿3u�3u33uf3u3u3u3u3u3u3�333f33® f+3f+ff+f+ìf+fu�fu3fuffufuìfufufufufufufufufufufufufufufhefª3fªffªfªfªfªfªfª御中に �Õ3ÕfÕÕÌÕÿÿ�ÿ3ÿfÿÿÌÿÿÌ��Ì�3Ì�fÌ�Ì�ÌÌ�ÿÌ+�Ì+3Ì+fÌ+Ì+ÌÌ+ÿÌU�ÌU3ÌUfÌUÌUÌÌUÿÌ�Ì3ÌfÌÌÌÌÿ̪�̪3̪f̪̪Ì̪ÿÌÕ�ÌÕ3ÌÕfÌÕÌÕÌÌÕÿÌÿ�Ìÿ3ÌÿfÌÿÌÿÌÌÿÿÿ��ÿ�3ÿ�fÿ�ÿ� 「」¿¥�¥3ÿ+fÿ+¹+ìÿ+fuu3u3uufhufuu¯uuu uuするか33虚 ����÷ H° A�*\È0 �; -----------------------------292403007321689--

そして最後に私のasmx Webサービスで:

    [WebMethod]
    public AjaxResponse UploadTempPicture()
    {
        AjaxResponse response = new AjaxResponse();
        HttpFileCollection MyFileCollection;
        HttpPostedFile MyFile;
        MyFileCollection = HttpContext.Current.Request.Files;
        MyFile = MyFileCollection[0];
        ....
     }

Web サービスが呼び出されますが、次のエラーが表示されます。

System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: サーバーは要求を処理できませんでした。---> System.Exception: ファイルのアップロードで問題が発生しました: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。パラメータ名:インデックス

4

0 に答える 0