コード例 #1
0
        /// <summary>
        /// Update uploaded file in database
        /// </summary>
        /// <param name="file"></param>
        /// <param name="serviceId"></param>
        /// <returns></returns>
        public int UpdateAttachedFile(Models.UploadedFileModel file, int serviceId)
        {
            Binary fileBinary = new Binary(file.FileContent);

            return(Query <int>("Update_UploadedFiles", new
            {
                ServiceId = serviceId,
                FileName = file.FileName,
                FileLength = file.FileSize,
                Content = fileBinary
            }, commandType: CommandType.StoredProcedure).FirstOrDefault());
        }
コード例 #2
0
        public ActionResult Upload(Models.UploadedFileModel fileinfo)
        {
            if (ModelState.IsValid)
            {
                //получаем информацию о родительском каталоге
                FileEntity ParentFolder = Logic.GetFileById(fileinfo.ParentId);

                //создаём сущность файла и заполняем поля
                string Extension = "";
                string filename  = System.IO.Path.GetFileName(fileinfo.UploadedFile.FileName);
                if (filename.Contains('.'))
                {
                    Extension = filename.Substring(filename.LastIndexOf('.'));
                }
                FileEntity NewFile = new FileEntity(filename,
                                                    ParentFolder.Owner, Extension,
                                                    fileinfo.UploadedFile.ContentLength, DateTime.Now, 0,
                                                    ParentFolder.FullName + '\\' + filename, AccessType.Private,
                                                    fileinfo.UploadedFile.ContentType);

                //сохраняем файл, если не возникает конфликтов с именем
                try
                {
                    Logic.UploadFile(ParentFolder.Id, NewFile);
                    fileinfo.UploadedFile.SaveAs(Logic.GetStorageLocation() + '\\' + ParentFolder.FullName + '\\'
                                                 + filename);
                    return(Redirect("~/Account/Storage?id=" + ParentFolder.Id));
                }
                catch (ArgumentException e)
                {
                    //иначе возвращаем ошибку
                    ModelState.AddModelError(e.ParamName, e.Message);
                }
            }
            return(View(fileinfo));
        }