lipika chakraborty lipika chakraborty - 6 days ago 5
Android Question

How to upload cordova filetransfer using server asp.net

i am creating an api that will recieve file from cordova file tranfer plugin.But while uploading , we are getting error "[10/19/2016 5:03:33 PM] azad singh: E/FileTransfer: {"target":"http://54.252.109.57:1031/api/Client/SaveDocument","http_status":500,"body":"\"Object reference not set to an instance of an object.\"","code":1,
[10/19/2016 5:03:45 PM] 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;
}


Please tell me where I am missing in my code...

Answer

This code works for me...

 [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;
        }
Comments