NagaRaju Pesarlanka Ответов: 1

проблема с загрузкой файлов через веб с помощью jQuery в asp.net


привет,
Я пытаюсь загрузить doc и pdf файлы с помощью webservice.
У меня есть такая ошибка

System.ArgumentOutOfRangeException was unhandled by user code
  HResult=-2146233086
  Message=Index was out of range. Must be non-negative and less than the size of the collection.


мой код таков

[WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string uploadfile(string res)
        {
            HttpContext postedContext = HttpContext.Current;
            HttpPostedFile file = postedContext.Request.Files[0];
            //HttpPostedFile file = HttpContext.Current.Request.Files[formData];
            //HttpPostedFile hFile = postedContext.Request.Files[1];
            string name = file.FileName;

            string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.FileName);
            string fileExtension = Path.GetExtension(file.FileName);
            //file.PostedFile.SaveAs("d:\\Resumes\\" + ISO_Date() + "_" + fileNameWithoutExtension + fileExtension);
            //File.Copy("d:\\Resumes\\" + ISO_Date() + "_" + fileNameWithoutExtension + fileExtension);
            file.SaveAs("d:\\Resumes\\" + ISO_Date() + "_" + fileNameWithoutExtension + fileExtension);

            return res;
        }
        static String ISO_Date()
        {
            return DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
        }

функция jquery
<script type="text/javascript">
    function finalupload() {
        var res = document.getElementById('txtSocialPassword').value;

        var newfile = document.getElementById("<%=file.ClientID%>").files[0];

        alert(formData);
        //alert(res);
        $.ajax({
            type: "POST",
            contentType: "application/json",
            url: "HuntableWebService.asmx/uploadfile",
            data: "{'res':'" + res + "'}",
            dataType: "JSON",
            async: true,
            success: function (response) {
                //var res = response.d;
                alert(response.d);
            }
        });
        return false;
    }
</script>


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

Kumarbs

Не могли бы вы проверить, что значение res, которое вы отправляете в службу, доступно должным образом. В сервисе он не может найти файл, поэтому показывает ошибку outofrange index в " postedContext.Request.Файлы[0];" строка.

NagaRaju Pesarlanka

никаких проблем с отправкой файла.

1 Ответов

Рейтинг:
2

Jaimin H. Soni

положите ваши

var res
в

Sys.Serialization.JavaScriptSerializer.serialize();


после этого попробуйте свой код...

$.ajax({
            type: "POST",
            contentType: "application/json",
            url: "HuntableWebService.asmx/uploadfile",
            data: "{'res':'" + Sys.Serialization.JavaScriptSerializer.serialize(res) + "'}",
            dataType: "JSON",
            async: true,
            success: function (response) {
                //var res = response.d;
                alert(response.d);
            }
        });