예제 #1
0
        public string AttachmentMultiUpload(int id, int partNum)
        {
            var attachment = AttachmentObject.GetAttachment(id);

            if (attachment != null)
            {
                MemoryStream ms = new MemoryStream();
                Request.InputStream.CopyTo(ms);
                attachment.AddPart(partNum, ms.ToArray());
            }
            return("done");
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">Attachment Id</param>
        /// <returns></returns>
        public ActionResult DeleteAttachment(int?id)
        {
            int mid = 0;

            if (id.HasValue)
            {
                var asa = AttachmentObject.GetAttachment(id.Value);
                if (asa != null)
                {
                    mid = asa.MainId;
                    if (MainObject.CheckUserHasWriteAccess(mid))
                    {
                        asa.Delete();
                    }
                }
            }

            return(GetAttachments(mid));
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">Attachment Id</param>
        /// <returns></returns>
        public FileResult DownloadAttachment(int?id)
        {
            if (id.HasValue)
            {
                var ao = AttachmentObject.GetAttachment(id.Value);
                if (ao != null && MainObject.CheckUserHasReadAccess(ao.MainId))
                {
                    var content = ao.Contents;
                    if (content != null)
                    {
                        content.Seek(0, SeekOrigin.Begin);
                        // Need this turned off for large files
                        Response.BufferOutput = false;
                        return(File(content, System.Net.Mime.MediaTypeNames.Application.Octet, ao.FileName));
                    }
                }
            }

            return(null);
        }