Как загрузить файл кордовы с помощью сервера asp.net

Я создаю API, который будет получать файл из плагина переноса файла cordova. Но при загрузке мы получаем ошибку "[19.10.2016 17:03:33 PM] azad singh: E/FileTransfer: {"target":"http://54.252.109.57:1031/api/Client/SaveDocument","http_status":500,"body":"\"Object, ссылка не установлена ​​на экземпляр объекта.\"","code":1, [19.10.2016 17:03:45] azad singh: Cordova - Camera"

    [HttpPost]
    [Route("Uploadfile")]
    public string Uploadfile()
    {
        string msg = "";
        try
        {
            HttpPostedFile file = HttpContext.Current.Request.Files["file"];
            string saveFile = file.FileName;
            //code to save the file

            msg = "File uploaded";


        }
        catch (Exception ex)
        {
            msg = "Could not upload file: " + ex.Message;

        }
        return msg;
    }

Пожалуйста, скажите мне, где я пропущен в моем коде...

1 ответ

Решение

Этот код работает для меня...

 [HttpPost]
        [Route("Uploadfile")]
        public UploadFile Uploadfile()
        {
            HttpPostedFile file = HttpContext.Current.Request.Files["file"];
            UploadFile uploadedfile = new UploadFile();
            //HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Accepted);
            try
            {
                if (file == null)
                    return uploadedfile ;
                    //response = Request.CreateResponse(HttpStatusCode.NotFound, "");


                int count; int sum = 0;
                byte[] buffer = new byte[file.ContentLength];
                int length = (int)file.InputStream.Length;
                buffer = new byte[length];

                while ((count = file.InputStream.Read(buffer, sum, length - sum)) > 0)
                    sum += count;

                FileVM fileObj = new FileVM();
                NameValueCollection parameters = HttpContext.Current.Request.Params;
                if (parameters.Keys.Count > 0)
                {
                    fileObj.fileId = "";
                    fileObj.fileName = file.FileName.ToString();
                    fileObj.fileType = file.ContentType;
                    fileObj.filedata = "";

                    fileObj.LastDownLoad = parameters.GetValues("LastDownLoad")[0];

                    ServicecltClients srv = new ServicecltClients();
                    uploadedfile.FileId = srv.InsertDocumentAndRelatedClient(fileObj, buffer);
                    uploadedfile.FileType = fileObj.fileType;
                    //response = Request.CreateResponse<UploadFile>(HttpStatusCode.OK, uploadedfile);
                }
            }
            catch (Exception _ex)
            {
                //response = Request.CreateResponse(HttpStatusCode.InternalServerError, _ex.Message);
                ErrorLog.TraceErrorLog(_ex);
            }
            finally
            {
                file.InputStream.Close();
            }
            return uploadedfile;
        }
Другие вопросы по тегам