Ejemplo n.º 1
0
        public IHttpActionResult Delete([FromBody] baseUserCallDocuments userDoc)
        {
            string userName = HttpContext.Current.GetUserName();

            if (userName.Length == 0)
            {
                return(Unauthorized());
            }
            if (userDoc.s3Key.Length == 0)
            {
                return(BadRequest());
            }
            var userFile = new UploadUserCallDocuments()
            {
                s3Key = userDoc.s3Key,
                ID    = userDoc.ID
            };

            userFile.Delete();
            return(Ok());
        }
Ejemplo n.º 2
0
        public async Task <int> Upload()
        {
            string userName = HttpContext.Current.GetUserName();

            if (userName.Length == 0)
            {
                return(-1);
            }

            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            var posted_filename = "";

            var provider = new MultipartMemoryStreamProvider();
            Dictionary <string, string> attributes = new Dictionary <string, string>();
            Dictionary <string, byte[]> files      = new Dictionary <string, byte[]>();
            await Request.Content.ReadAsMultipartAsync(provider);

            foreach (var file in provider.Contents)
            {
                if (file.Headers.ContentDisposition.FileName != null)
                {
                    var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
                    posted_filename = filename;
                    var buffer = await file.ReadAsByteArrayAsync();

                    files.Add(filename, buffer);
                }
                else
                {
                    foreach (NameValueHeaderValue p in file.Headers.ContentDisposition.Parameters)
                    {
                        string name = p.Value;
                        if (name.StartsWith("\"") && name.EndsWith("\""))
                        {
                            name = name.Substring(1, name.Length - 2);
                        }
                        string value = await file.ReadAsStringAsync();

                        attributes.Add(name, value);
                    }
                }
            }

            if (!attributes.ContainsKey("f_id"))
            {
                return(-1);
            }
            int f_id = 0;
            var desc = "";

            if (!Int32.TryParse(attributes["f_id"], out f_id))
            {
                return(-1);
            }
            if (attributes.ContainsKey("description"))
            {
                desc = attributes["description"];
            }
            var fileList = new List <UploadUserCallDocuments>();
            var returnid = -1;

            foreach (var file in files)
            {
                var userFile = new UploadUserCallDocuments()
                {
                    fileName    = file.Key,
                    f_ID        = f_id,
                    description = desc
                };

                if (file.Key.IndexOf(".") > -1)
                {
                    userFile.AddFile(file.Value.ToArray(), file.Key.Substring(file.Key.IndexOf(".")));
                }
                else
                {
                    userFile.AddFile(file.Value.ToArray(), file.Key);
                }

                await userFile.UploadtoAWS();

                returnid = userFile.ID;
            }
            return(returnid);
        }