Exemplo n.º 1
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new ProgressFileUploader.FileToUpload(context);

            if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0)
            {
                throw new InvalidOperationException("Invalid file.");
            }

            if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength)
            {
                throw FileSizeComment.FileImageSizeException;
            }

            if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image)
            {
                throw new UnknownImageFormatException();
            }

            var photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, Convert.ToInt32(context.Request["contactID"]));

            fileUploadResult.Success = true;
            fileUploadResult.Data    = photoUri;

            return(fileUploadResult);
        }
Exemplo n.º 2
0
    public override void Process()
    {
        string uploadFileName = null;
        var    file           = Request.Files[UploadConfig.UploadFieldName];

        uploadFileName = file.FileName;


        try
        {
            string uploadUrl    = ConfigurationManager.AppSettings["uploadUrl"];
            string subject      = ConfigurationManager.AppSettings["OssSubject"];
            string topDirectory = ConfigurationManager.AppSettings["TopDirectoryOfSubject"];
            Result.OriginFileName = uploadFileName;

            FileManageClient client = new FileManageClient(uploadUrl);
            FileUploadResult result = client.Upload(
                uploadFileName,
                file.InputStream,
                subject,
                topDirectory);
            Result.Url   = result.FileUrl;
            Result.State = UploadState.Success;
        }
        catch (Exception e)
        {
            Result.State        = UploadState.FileAccessError;
            Result.ErrorMessage = e.Message;
        }
        finally
        {
            WriteResult();
        }
    }
Exemplo n.º 3
0
        public FileUploadResult Execute(FileUpload file)
        {
            var result = new FileUploadResult();

            try
            {
                var employees = _transformFile.Transform(file.FileBytes);

                _employeeRepository.AddEmployees(employees);

                result.Success = true;
                result.Message = "Successfully uploaded employees";
            }
            catch (InvalidDataException)
            {
                result.Success = false;
                result.Message = "Invalid file";
            }
            catch (Exception)
            {
                result.Success = false;
                result.Message = "Something went wrong";
            }


            return(result);
        }
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new ProgressFileUploader.FileToUpload(context);

            String assignedPath;

            Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream);

            file.InputStream.Position = 0;

            var jObject = ImportFromCSV.GetInfo(file.InputStream, context.Request["importSettings"]);

            jObject.Add("assignedPath", assignedPath);

            fileUploadResult.Success = true;
            fileUploadResult.Data    = Convert.ToBase64String(Encoding.UTF8.GetBytes(jObject.ToString()));

            return(fileUploadResult);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Upload File
        /// </summary>
        /// <param name="file"></param>
        /// <param name="folder"></param>
        /// <param name="newFileName">The new file name for the file</param>
        /// <returns></returns>
        public FileUploadResult UploadFile(IFormFile file, string folder, string newFileName = null)
        {
            FileUploadResult fileUploadResult = new FileUploadResult();

            if (file.FileName.Length > 0)
            {
                string filename = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

                string dirPath    = "/media/" + (folder ?? "images");
                string mapDirPath = mapPath(dirPath);
                if (!CreateDirIfNotExits(mapDirPath))
                {
                    return(fileUploadResult);
                }
                string extension = Path.GetExtension(filename);
                string filePath  = GetUniqueFilePath(mapDirPath, newFileName ?? filename, extension);
                SaveFile(file, filePath);
                //strip off root paths
                filePath = filePath.Replace("\\", "/");
                var regex = new Regex($@"({dirPath}(?:[^\s]+))", RegexOptions.IgnoreCase);
                if (regex.IsMatch(filePath))
                {
                    filePath = regex.Match(filePath).Captures[0].Value;
                }
                fileUploadResult = new FileUploadResult
                {
                    LocalFilePath = filePath,
                    FileName      = filename,
                    FileLength    = file.Length
                };
            }
            return(fileUploadResult);
        }
Exemplo n.º 6
0
        public HttpResponseMessage UploadImage(HttpRequestMessage request, int employeeId)
        {
            return(CreateHttpResponseMessage(request, () =>
            {
                HttpResponseMessage response = null;

                var employee = _employeeService.GetEmployee(employeeId);
                if (employee == null)
                {
                    response = request.CreateErrorResponse(HttpStatusCode.NotFound, "Employee not found.");
                }
                else
                {
                    var uploadPath = HttpContext.Current.Server.MapPath("~/Content/images/employees");
                    var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath);
                    // Read MIME multipart
                    Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider);
                    string _localFileName = multipartFormDataStreamProvider
                                            .FileData.Select(m => m.LocalFileName).FirstOrDefault();
                    // Create Response
                    FileUploadResult result = new FileUploadResult
                    {
                        LocalFilePath = _localFileName,
                        FileName = Path.GetFileName(_localFileName),
                        FileLength = new FileInfo(_localFileName).Length
                    };
                    employee.Image = result.FileName;
                    _unitOfWork.Commit();

                    response = request.CreateResponse(HttpStatusCode.OK, result);
                }

                return response;
            }));
        }
Exemplo n.º 7
0
        public override void OnProcessRequest(HttpContext context)
        {
            var result = new FileUploadResult()
            {
                Success = false,
                Message = "type not found"
            };

            if (!SecurityContext.IsAuthenticated)
            {
                Global.Authenticate();
            }

            if (!String.IsNullOrEmpty(context.Request["type"]))
            {
                try
                {
                    var uploadHandler = (IFileUploadHandler)Activator.CreateInstance(Type.GetType(context.Request["type"], true));
                    result = uploadHandler.ProcessUpload(context);
                }
                catch { }
            }

            context.Response.StatusCode = 200;
            context.Response.Write(AjaxPro.JavaScriptSerializer.Serialize(result));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Upload the specified file to the MediaCrush (or other) server.
        /// </summary>
        /// <param name="file">The file to upload</param>
        /// <returns>Returns one <see cref="FileUploadResult"/></returns>
        /// <remarks>API Doc Url: https://github.com/MediaCrush/MediaCrush/blob/master/docs/api.md#apiuploadfile </remarks>
        public static void UploadFileAsync(string file, UploadProgressChangedEventHandler progressHandler, Action <FileUploadResult> callback)
        {
            if (!File.Exists(file))
            {
                throw new FileNotFoundException("Specified file doesn't exist", file);
            }

            Upload(BaseApiUrl + FileUploadApiUrl, file, progressHandler, (s, e) =>
            {
                var json = Encoding.UTF8.GetString(e.Result);
                FileUploadResult result = JsonConvert.DeserializeObject <FileUploadResult>(json);

                // Because the hash is the key of the SharpCrushMediaFile (I have no idea why), dynamic objects are needed //
                var dynamicObject = JsonConvert.DeserializeObject <dynamic>(json);

                // Sometimes it returns a somewhat malformed array. //
                // https://github.com/MediaCrush/MediaCrush/issues/356 //
                if (dynamicObject[result.FileHash] is JArray)
                {
                    // We going to have to get media files a different way //
                    var mediaFile    = GetFileInfo(result.FileHash);
                    result.MediaFile = mediaFile;
                }

                if (dynamicObject[result.FileHash] is JObject)
                {
                    // This is the expected/faster way //
                    var jObject      = (JObject)dynamicObject[result.FileHash];
                    result.MediaFile = jObject.ToObject <SharpCrushMediaFile>();
                }

                callback(result);
            });
        }
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new ProgressFileUploader.FileToUpload(context);

            String assignedPath;

            Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream);

            file.InputStream.Position = 0;

            var jObject = ImportFromCSV.GetInfo(file.InputStream);

            jObject.Add("assignedPath", assignedPath);

            fileUploadResult.Success = true;
            fileUploadResult.Data    = jObject.ToString();

            return(fileUploadResult);
        }
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            if (!WebItemSecurity.IsAvailableForUser(ProductEntryPoint.ID.ToString(), SecurityContext.CurrentAccount.ID))
                throw CRMSecurity.CreateSecurityException();

            var fileUploadResult = new FileUploadResult();

            if (!FileToUpload.HasFilesToUpload(context)) return fileUploadResult;

            var file = new FileToUpload(context);

            String assignedPath;

            Global.GetStore().SaveTemp("temp", out assignedPath, file.InputStream);

            file.InputStream.Position = 0;

            var jObject = ImportFromCSV.GetInfo(file.InputStream, context.Request["importSettings"]);

            jObject.Add("assignedPath", assignedPath);

            fileUploadResult.Success = true;
            fileUploadResult.Data = Global.EncodeTo64(jObject.ToString());

            return fileUploadResult;
        }
Exemplo n.º 11
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult();

            try
            {
                if (context.Request.Files.Count != 0)
                {
                    var userPhoto = context.Request.Files[0];
                    var data      = new byte[userPhoto.InputStream.Length];

                    var br = new BinaryReader(userPhoto.InputStream);
                    br.Read(data, 0, (int)userPhoto.InputStream.Length);
                    br.Close();
                    result.Data    = UserPhotoManager.SaveTempPhoto(data, SetupInfo.MaxImageUploadSize, UserPhotoManager.MaxFotoSize.Width, UserPhotoManager.MaxFotoSize.Height);
                    result.Success = true;
                }
                else
                {
                    result.Success = false;
                    result.Message = Resources.Resource.ErrorEmptyUploadFileSelected;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message.HtmlEncode();
            }

            return(result);
        }
Exemplo n.º 12
0
        public FileUploadResult Upload(string base64String)
        {
            try
            {
                string           directory = $"StuAvatar/Images";
                FileManageClient client    = new FileManageClient(ConfigurationManager.AppSettings["uploadUrl"]);
                //base64String = base64String.Replace("data:image/png;base64,", string.Empty);
                base64String = base64String.Split(',')[1];

                string fileName = Guid.NewGuid().ToString("N") + ".png";
                //Base64形式的String转成byte[]
                var              imgByte  = Convert.FromBase64String(base64String);
                MemoryStream     fs       = null;
                FileUploadResult response = null;
                using (fs = new MemoryStream(imgByte))
                {
                    response = client.Upload(fileName, fs, ConfigurationManager.AppSettings["OssSubject"], directory, true);
                }
                if (response.Code == FileManageStatusCode.Success)
                {
                    response.FileUrl = $"/{directory}/{response.FileName}";
                }
                return(response);
            }
            catch (Exception ex)
            {
                throw new Exception("网络出错了,头像上传失败");
            }
        }
Exemplo n.º 13
0
        public HttpResponseMessage Upload(HttpRequestMessage request, int deviceId)
        {
            return(CreateHttpResponseMessage(request, () =>
            {
                HttpResponseMessage response = null;

                var device = _deviceService.GetDevice(deviceId);
                if (device == null)
                {
                    response = request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid device.");
                }
                else
                {
                    var uploadPath = HttpContext.Current.Server.MapPath("~/Content/images/devices");
                    var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath);
                    // Read the MIME multipart
                    Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider);
                    string _localFileName = multipartFormDataStreamProvider
                                            .FileData.Select(m => m.LocalFileName).FirstOrDefault();
                    // Create response
                    FileUploadResult result = new FileUploadResult
                    {
                        LocalFilePath = _localFileName,
                        FileName = Path.GetFileName(_localFileName),
                        FileLength = new FileInfo(_localFileName).Length
                    };
                    // Update database
                    device.Image = result.FileName;
                    _deviceService.UpdateDevice(device);

                    response = request.CreateResponse(HttpStatusCode.OK, result);
                }
                return response;
            }));
        }
Exemplo n.º 14
0
        public override FileUploadResult ProcessUpload(HttpContext context)
        {
            if (!SecurityContext.IsAuthenticated)
            {
                throw new HttpException(403, "Access denied.");
            }

            var result = new FileUploadResult {
                Success = false
            };

            try
            {
                if (FileToUpload.HasFilesToUpload(context))
                {
                    var file        = new FileToUpload(context);
                    var maxFileSize = MaxFileSizeInMegabytes * 1024 * 1024;

                    if (string.IsNullOrEmpty(file.FileName))
                    {
                        throw new ArgumentException("Empty file name");
                    }

                    if (maxFileSize < file.ContentLength)
                    {
                        throw new Exception(CalendarJSResource.calendarEventAttachments_fileSizeError);
                    }

                    var fileName = System.IO.Path.GetFileName(file.FileName);

                    var document = new File
                    {
                        Title           = fileName,
                        FolderID        = AttachmentEngine.GetTmpFolderId(),
                        ContentLength   = file.ContentLength,
                        ThumbnailStatus = Thumbnail.NotRequired
                    };

                    document = AttachmentEngine.SaveFile(document, file.InputStream);

                    result.Data = new
                    {
                        id          = document.ID.ToString(),
                        title       = document.Title,
                        size        = document.ContentLength,
                        contentType = file.FileContentType,
                        fileUrl     = FileShareLink.GetLink(document) + "&tmp=true"
                    };

                    result.Success = true;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }

            return(result);
        }
Exemplo n.º 15
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult();

            try
            {
                if (!SecurityContext.IsAuthenticated && SettingsManager.Instance.LoadSettings <WizardSettings>(TenantProvider.CurrentTenantID).Completed)
                {
                    throw new SecurityException(Resource.PortalSecurity);
                }
                if (context.Request.Files.Count == 0)
                {
                    throw new Exception(Resource.ErrorEmptyUploadFileSelected);
                }

                var licenseFile = context.Request.Files[0];
                LicenseReader.SaveLicenseTemp(licenseFile.InputStream);

                result.Message = Resource.LicenseUploaded;
                result.Success = true;
            }
            catch (Exception ex)
            {
                LogManager.GetLogger(typeof(LicenseReader)).Error("License upload", ex);
                result.Message = ex.Message.HtmlEncode();
            }

            return(result);
        }
Exemplo n.º 16
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult();

            try
            {
                if (context.Request.Files.Count != 0)
                {
                    var certificate = context.Request.Files[0];
                    var path        = Path.Combine(Path.GetTempPath(), certificate.FileName);

                    if (!File.Exists(path))
                    {
                        certificate.SaveAs(path);
                    }

                    result.Success = true;
                    result.Message = path;
                }
                else
                {
                    result.Success = false;
                    result.Message = Resource.ErrorEmptyUploadFileSelected;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message.HtmlEncode();
            }

            return(result);
        }
        private FileUploadResult UploadFile(IFormFile file)
        {
            if (file == null)
            {
                throw new ArgumentNullException(nameof(file));
            }

            FileUploadResult fileUploadResult = new FileUploadResult {
                IsSuccessful = false
            };

            try
            {
                string extension = Path.GetExtension(file.FileName);

                using (var stream = file.OpenReadStream())
                {
                    var fileId   = Guid.NewGuid().ToString();
                    var fileName = $"{fileId}{extension}";

                    var fileInfo = _filesService.Add(fileId, fileName, stream);

                    fileUploadResult.FileInfo = fileInfo;
                }

                fileUploadResult.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                _logger.LogCritical(ex, "There was an error while saving the file");
            }

            return(fileUploadResult);
        }
Exemplo n.º 18
0
        private void btnBrowse_Click(object sender, EventArgs e)
        {
            DialogResult dr = this.openFileDialog1.ShowDialog();

            if (dr == System.Windows.Forms.DialogResult.OK)
            {
                HttpClient client = new HttpClient();
                try
                {
                    foreach (string file in openFileDialog1.FileNames)
                    {
                        var fileStream = File.Open(file, FileMode.Open);
                        var fileInfo   = new FileInfo(file);
                        FileUploadResult uploadResult = null;
                        bool             fileUploaded = false;
                        var content = new MultipartFormDataContent();
                        content.Add(new StreamContent(fileStream), "\"file\"", string.Format("\"{0}\"", fileInfo.Name));
                        Task taskUpload = client.PostAsync(RequestUrl, content)
                                          .ContinueWith(task =>
                        {
                            if (task.Status == TaskStatus.RanToCompletion)
                            {
                                var response = task.Result;
                                if (response.IsSuccessStatusCode)
                                {
                                    uploadResult = response.Content.ReadAsAsync <FileUploadResult>().Result;
                                    if (uploadResult != null)
                                    {
                                        fileUploaded = true;
                                    }
                                    foreach (var header in response.Content.Headers)
                                    {
                                        Debug.WriteLine("{0}: {1}", header.Key, string.Join(",", header.Value));
                                    }
                                }
                                else
                                {
                                    Debug.WriteLine("Status Code: {0} - {1}", response.StatusCode, response.ReasonPhrase);
                                    Debug.WriteLine("Response Body: {0}", response.Content.ReadAsStringAsync().Result);
                                }
                            }
                            fileStream.Close();
                        });
                        taskUpload.Wait();
                        if (fileUploaded)
                        {
                            AddMessage(uploadResult.FileName + " with length " + uploadResult.FileLength
                                       + " has been uploaded at " + uploadResult.LocalFilePath);
                        }
                    }
                    client.Dispose();
                }
                catch (Exception ex)
                {
                    AddMessage(ex.Message);
                }
            }
        }
Exemplo n.º 19
0
        public override FileUploadHandler.FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult()
            {
                Success = false
            };

            try
            {
                if (ProgressFileUploader.HasFilesToUpload(context))
                {
                    var settingsID = new Guid(context.Request["SettingsID"]);
                    var settings   = ForumManager.GetSettings(settingsID);
                    var thread     = ForumDataProvider.GetThreadByID(TenantProvider.CurrentTenantID, Convert.ToInt32(context.Request["ThreadID"]));
                    if (thread == null)
                    {
                        return(result);
                    }

                    var forumManager       = settings.ForumManager;
                    var offsetPhysicalPath = string.Empty;
                    forumManager.GetAttachmentVirtualDirPath(thread, settingsID, new Guid(context.Request["UserID"]), out offsetPhysicalPath);

                    var file = new ProgressFileUploader.FileToUpload(context);

                    var newFileName  = GetFileName(file.FileName);
                    var origFileName = newFileName;

                    var i     = 1;
                    var store = forumManager.GetStore();
                    while (store.IsFile(offsetPhysicalPath + "\\" + newFileName))
                    {
                        var ind = origFileName.LastIndexOf(".");
                        newFileName = ind != -1 ? origFileName.Insert(ind, "_" + i.ToString()) : origFileName + "_" + i.ToString();
                        i++;
                    }

                    result.FileName = newFileName;
                    result.FileURL  = store.Save(offsetPhysicalPath + "\\" + newFileName, file.InputStream).ToString();
                    result.Data     = new
                    {
                        OffsetPhysicalPath = offsetPhysicalPath + "\\" + newFileName,
                        FileName           = newFileName,
                        Size        = file.ContentLength,
                        ContentType = file.FileContentType,
                        SettingsID  = settingsID
                    };
                    result.Success = true;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }

            return(result);
        }
Exemplo n.º 20
0
        public async Task <ApiResult <List <FileUploadResult> > > Upload([FromForm] IFormCollection formFiles)
        {
            IFormFileCollection cols = Request.Form.Files;

            var apiResult = new ApiResult <List <FileUploadResult> >();

            apiResult.Code = Code.OK;
            var files = Request.Form.Files;

            if (files.Count > 0)
            {
                var resultFile = new List <FileUploadResult>();
                foreach (var formFile in files)
                {
                    if (formFile != null)
                    {
                        var virtualRootPath = $"/upload/{DateTime.Now:yyyy/MM}";

                        var fileResult = new FileUploadResult();
                        fileResult.FileName         = System.IO.Path.GetFileName(formFile.FileName);
                        fileResult.ContentType      = formFile.ContentType;
                        fileResult.ContentLength    = formFile.Length;
                        fileResult.Extension        = System.IO.Path.GetExtension(formFile.FileName);
                        fileResult.FriendlyFileName = Guid.NewGuid().ToString("N") + fileResult.Extension;
                        fileResult.VirtualPath      = $"{virtualRootPath}/{fileResult.FriendlyFileName}";
                        string fileName = System.IO.Path.GetFileName(formFile.FileName);

                        string savePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileResult.VirtualPath);

                        string saveRootPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, virtualRootPath);


                        if (!System.IO.Directory.Exists(saveRootPath))
                        {
                            System.IO.Directory.CreateDirectory(saveRootPath);
                        }

                        await using (var stream = System.IO.File.Create(savePath))
                        {
                            await formFile.CopyToAsync(stream);
                        }
                        resultFile.Add(fileResult);
                    }
                }
                apiResult.Code    = Code.OK;
                apiResult.Message = "上传成功";
                apiResult.Data    = resultFile;
            }
            else
            {
                apiResult.Code    = Code.BAD_REQUEST;
                apiResult.Message = "请选择上传文件";
            }
            //TODO 目前不保存文件信息,后期需要再说

            return(apiResult);
        }
Exemplo n.º 21
0
        /// <summary>
        /// Generates a file upload result
        /// </summary>
        /// <param name="virtualPath">The virtual download path</param>
        /// <returns>A file upload result with no unprocessed data</returns>
        public FileUploadResult FileUploadResult(HandlerUploadModel model)
        {
            ProcessDebit(model);

            var fur = new FileUploadResult(receiptDate, null, model.VirtualPath);

            this.Dispose(false);

            return(fur);
        }
Exemplo n.º 22
0
        public async Task ArchiveChannel(ISocketMessageChannel channel, [Remainder] string title)
        {
            var messages = await channel.GetMessagesAsync().Flatten();

            using (ChannelArchive archive = new ChannelArchive(title))
            {
                string voteEmote = _settings.Has("brackeys-emote") ? _settings.Get("brackeys-emote").Split(':').First() : string.Empty;

                foreach (IMessage msg in messages)
                {
                    ArchiveMessage             archiveMessage = new ArchiveEventSubmission(msg, voteEmote);
                    IEnumerable <ArchiveImage> archiveImages  = archiveMessage.GetMessageImages();

                    archive.AddMessage(archiveMessage);
                    foreach (ArchiveImage image in archiveImages)
                    {
                        archive.AddImage(image);
                    }
                }

                archive.CloseArchive();
                string zippedArchive = archive.ZipArchive();

                WeTransferClient wt = new WeTransferClient(BrackeysBot.Configuration["wetransfer-api-key"]);
                // Make sure we are authorized
                await wt.Authorize();

                var fileInfo = new System.IO.FileInfo(zippedArchive);
                // Create Partial File Information so WeTransfer knows how many files
                // you're going to upload, the names of those files and their sizes
                PartialFileInfo[] partialFileInfos = new PartialFileInfo[]
                {
                    new PartialFileInfo
                    {
                        Name = fileInfo.Name,
                        Path = fileInfo.FullName,
                        Size = (int)fileInfo.Length
                    }
                };

                // Create a File Transfer which informs WeTransfer that you're about to upload files
                // The second parameter is the transfer message which will show on the download page
                FileTransferResponse response = await wt.CreateTransfer(partialFileInfos, $"Download the archived channel #{channel.Name}!");

                // Now you can upload the files!
                // The first parameter is the transfer's ID
                await wt.Upload(response.ID, response.Files);

                // Now you need to tell WeTransfer that your files have been uploaded
                FileUploadResult result = await wt.FinalizeUpload(response.ID, response.Files);

                // FileUploadResult contains the url to the download page and the date of the expiry

                StringBuilder reply = new StringBuilder()
                                      .AppendLine($"I archived the channel <#{channel.Id}> for you{(title == channel.Name ? "!" : $", under the name **{title}**!")}")
Exemplo n.º 23
0
        private void ReCheckData(DataTable table, FileUploadResult rt)
        {
            string stateColumnName = "状态";

            table.Columns.Add(stateColumnName);

            StringBuilder builder = new StringBuilder();
            Dictionary <string, DataRow> dictionary = new Dictionary <string, DataRow>();
            List <DataRow> more = new List <DataRow>();

            for (var i = 0; i < table.Rows.Count; i++)
            {
                DataRow row   = table.Rows[i];
                string  value = row[0] == DBNull.Value ? "" : row[0].ToString();
                if (string.IsNullOrEmpty(value))
                {
                    table.Rows.RemoveAt(i);
                    i--;
                    continue;
                }
                if (dictionary.ContainsKey(value))
                {
                    row[stateColumnName] = "重复";
                    more.Add(row);
                    continue;
                }
                row[stateColumnName] = "待匹配";
                dictionary.Add(value, row);
                builder.AppendFormat("'{0}',", value);
            }
            rt.All  = table.Rows.Count;
            rt.ReDo = more.Count;
            string ids = builder.Length > 0 ? builder.ToString().Substring(0, builder.Length - 1) : "";

            if (string.IsNullOrEmpty(ids))
            {
                return;
            }
            using (DbHelper db = AppUtils.CreateDbHelper())
            {
                DataTable hasTable = db.ExecuteSQL(string.Format("select * from bill where scode in ({0})", ids));
                rt.Doned = hasTable.Rows.Count;
                int count = 0;
                for (var i = 0; i < hasTable.Rows.Count; i++)
                {
                    DataRow tRow    = hasTable.Rows[i];
                    DataRow tempRow = dictionary[tRow["scode"].ToString()];
                    tempRow[stateColumnName] = "已匹配";
                }
                rt.NoRm = count;
                // label5.Text = string.Format("未排除行数:{0}行", count);
            }
            //rt.NoDo = table.Rows.Count;
        }
Exemplo n.º 24
0
        /// <summary>
        /// Generates a file upload result
        /// </summary>
        /// <param name="unprocessed"><see langword="true"/> if it should contains unprocessed data, otherwise <see langword="false"/></param>
        /// <param name="virtualPath">The virtual download path</param>
        /// <returns>If true, returns a file upload result with the unprocessed data, otherwise the unprocessed data will be null</returns>
        public FileUploadResult FileUploadResult(HandlerUploadModel model, bool unprocessed)
        {
            ProcessDebit(model);

            var uContent = unprocessed ? Unprocessed.ToString() : null;
            var fur      = new FileUploadResult(receiptDate, uContent, model.VirtualPath);

            this.Dispose(false);

            return(fur);
        }
Exemplo n.º 25
0
        public override FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new ProgressFileUploader.FileToUpload(context);

            if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0)
            {
                throw new InvalidOperationException("Invalid file.");
            }

            if (0 < SetupInfo.MaxUploadSize && SetupInfo.MaxUploadSize < file.ContentLength)
            {
                throw FileSizeComment.FileSizeException;
            }

            if (CallContext.GetData("CURRENT_ACCOUNT") == null)
            {
                CallContext.SetData("CURRENT_ACCOUNT", new Guid(context.Request["UserID"]));
            }


            var fileName = file.FileName.LastIndexOf('\\') != -1
                               ? file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1)
                               : file.FileName;


            var document = new File
            {
                Title         = fileName,
                FolderID      = Global.DaoFactory.GetFileDao().GetRoot(),
                ContentLength = file.ContentLength
            };

            document.ContentType = MimeMapping.GetMimeMapping(document.Title);

            document = Global.DaoFactory.GetFileDao().SaveFile(document, file.InputStream);

            fileUploadResult.Data     = document.ID;
            fileUploadResult.FileName = document.Title;
            fileUploadResult.FileURL  = document.FileUri;


            fileUploadResult.Success = true;


            return(fileUploadResult);
        }
Exemplo n.º 26
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new ProgressFileUploader.FileToUpload(context);

            if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0)
            {
                throw new InvalidOperationException("Invalid file.");
            }

            if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength)
            {
                fileUploadResult.Success = false;
                fileUploadResult.Message = FileSizeComment.GetFileImageSizeNote(CRMCommonResource.ErrorMessage_UploadFileSize, false).HtmlEncode();
                return(fileUploadResult);
            }

            if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image)
            {
                fileUploadResult.Success = false;
                fileUploadResult.Message = CRMJSResource.ErrorMessage_NotImageSupportFormat.HtmlEncode();
                return(fileUploadResult);
            }


            var contactId  = Convert.ToInt32(context.Request["contactID"]);
            var uploadOnly = Convert.ToBoolean(context.Request["uploadOnly"]);
            var tmpDirName = Convert.ToString(context.Request["tmpDirName"]);
            var photoUri   = "";

            if (contactId != 0)
            {
                photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, contactId, uploadOnly);
            }
            else
            {
                if (String.IsNullOrEmpty(tmpDirName))
                {
                    tmpDirName = Guid.NewGuid().ToString();
                }
                photoUri = ContactPhotoManager.UploadPhoto(file.InputStream, tmpDirName);
            }
            fileUploadResult.Success = true;
            fileUploadResult.Data    = photoUri;

            return(fileUploadResult);
        }
Exemplo n.º 27
0
        public async Task <FileUploadResult> Post()
        {
            try
            {
                // Получаем из заголовков идентификатор пользователя
                var userId = Request.Headers.GetValues("userId").ToArray <string>()[0];
                // Получаем папку для загрузки файлов пользователя
                var uploadFolder = ConfigurationManager.AppSettings["UploadsFolder"];
                // Формируем путь для загрузки файлов пользователя
                var uploadPath = string.Format("{0}/{1}", uploadFolder, userId);
                // Если директория не существует, то создает ее
                if (!Directory.Exists(uploadPath))
                {
                    Directory.CreateDirectory(uploadPath);
                }

                // Создаем провайдер загрузки
                var multipartFormDataStreamProvider = new UploadMultipartFormProvider(uploadPath);
                // Асинхронно читаем данные
                await Request.Content.ReadAsMultipartAsync(multipartFormDataStreamProvider);

                // Получаем имя файла
                string localFileName = multipartFormDataStreamProvider
                                       .FileData.Select(multiPartData => multiPartData.LocalFileName).FirstOrDefault();
                // Создаем ответ клиенту
                var result = new FileUploadResult
                {
                    LocalFilePath = localFileName,
                    FileName      = Path.GetFileName(localFileName),
                    FileLength    = new FileInfo(localFileName).Length
                };

                // Получаем данные о загружаемом файле
                var tags = multipartFormDataStreamProvider.FormData;
                // Формируем объект класса файл из полученных данных о файле
                var musicFile = new MusicFile()
                {
                    id = Guid.Parse(tags["fileGuid"]),
                    localDevicePathUpload = Path.Combine(tags["filePath"], tags["filename"]),
                    path   = Path.Combine(uploadPath, Path.GetFileName(localFileName)),
                    userId = Guid.Parse(userId)
                };
                // Добавляем в БД информацию о принятом файле
                musicFile.registerFile();
                // Возвращаем результат загрузки клиенту
                return(result);
            }
            catch (Exception ex)
            {
                var str = ex.Message;
            }
            return(null);
        }
Exemplo n.º 28
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult();

            try
            {
                if (!SecurityContext.IsAuthenticated && WizardSettings.Load().Completed)
                {
                    throw new SecurityException(Resource.PortalSecurity);
                }
                if (context.Request.Files.Count == 0)
                {
                    throw new Exception(Resource.ErrorEmptyUploadFileSelected);
                }

                var licenseFile = context.Request.Files[0];
                var dueDate     = LicenseReader.SaveLicenseTemp(licenseFile.InputStream);

                result.Message = dueDate >= DateTime.UtcNow.Date
                                     ? Resource.LicenseUploaded
                                     : string.Format(
                    (TenantExtra.GetTenantQuota().Update
                                              ? Resource.LicenseUploadedOverdueSupport
                                              : Resource.LicenseUploadedOverdue),
                    "<span class='tariff-marked'>",
                    "</span>",
                    dueDate.Date.ToLongDateString());
                result.Success = true;
            }
            catch (LicenseExpiredException ex)
            {
                Log.Error("License upload", ex);
                result.Message = Resource.LicenseErrorExpired;
            }
            catch (LicenseQuotaException ex)
            {
                Log.Error("License upload", ex);
                result.Message = Resource.LicenseErrorQuota;
            }
            catch (LicensePortalException ex)
            {
                Log.Error("License upload", ex);
                result.Message = Resource.LicenseErrorPortal;
            }
            catch (Exception ex)
            {
                Log.Error("License upload", ex);
                result.Message = Resource.LicenseError;
            }

            return(result);
        }
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            if (!CRMSecurity.IsAdmin)
            {
                throw CRMSecurity.CreateSecurityException();
            }

            var fileUploadResult = new FileUploadResult();

            if (!FileToUpload.HasFilesToUpload(context))
            {
                return(fileUploadResult);
            }

            var file = new FileToUpload(context);

            if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0)
            {
                throw new InvalidOperationException(CRMErrorsResource.InvalidFile);
            }

            if (0 < SetupInfo.MaxImageUploadSize && SetupInfo.MaxImageUploadSize < file.ContentLength)
            {
                fileUploadResult.Success = false;
                fileUploadResult.Message = FileSizeComment.GetFileImageSizeNote(CRMCommonResource.ErrorMessage_UploadFileSize, false).HtmlEncode();
                return(fileUploadResult);
            }

            if (FileUtility.GetFileTypeByFileName(file.FileName) != FileType.Image)
            {
                fileUploadResult.Success = false;
                fileUploadResult.Message = CRMJSResource.ErrorMessage_NotImageSupportFormat.HtmlEncode();
                return(fileUploadResult);
            }

            try
            {
                var imageData   = Global.ToByteArray(file.InputStream);
                var imageFormat = ContactPhotoManager.CheckImgFormat(imageData);
                var photoUri    = OrganisationLogoManager.UploadLogo(imageData, imageFormat);

                fileUploadResult.Success = true;
                fileUploadResult.Data    = photoUri;
                return(fileUploadResult);
            }
            catch (Exception exception)
            {
                fileUploadResult.Success = false;
                fileUploadResult.Message = exception.Message.HtmlEncode();
                return(fileUploadResult);
            }
        }
Exemplo n.º 30
0
        public FileUploadResult UploadLicense(IEnumerable <HttpPostedFileBase> attachments)
        {
            if (!CoreContext.Configuration.Standalone)
            {
                throw new NotSupportedException();
            }

            var license = attachments.FirstOrDefault();

            if (license == null)
            {
                throw new Exception(Resource.ErrorEmptyUploadFileSelected);
            }

            var result = new FileUploadResult();

            try
            {
                var dueDate = LicenseReader.SaveLicenseTemp(license.InputStream);

                result.Message = dueDate >= DateTime.UtcNow.Date
                                         ? Resource.LicenseUploaded
                                         : string.Format(Resource.LicenseUploadedOverdue,
                                                         string.Empty,
                                                         string.Empty,
                                                         dueDate.Date.ToLongDateString());
                result.Success = true;
            }
            catch (LicenseExpiredException ex)
            {
                LogManager.GetLogger("ASC").Error("License upload", ex);
                result.Message = Resource.LicenseErrorExpired;
            }
            catch (LicenseQuotaException ex)
            {
                LogManager.GetLogger("ASC").Error("License upload", ex);
                result.Message = Resource.LicenseErrorQuota;
            }
            catch (LicensePortalException ex)
            {
                LogManager.GetLogger("ASC").Error("License upload", ex);
                result.Message = Resource.LicenseErrorPortal;
            }
            catch (Exception ex)
            {
                LogManager.GetLogger("ASC").Error("License upload", ex);
                result.Message = Resource.LicenseError;
            }

            return(result);
        }
Exemplo n.º 31
0
        public override FileUploadResult ProcessUpload(HttpContext context)
        {
            var fileUploadResult = new FileUploadResult();

            if (!ProgressFileUploader.HasFilesToUpload(context)) return fileUploadResult;

            var file = new ProgressFileUploader.FileToUpload(context);

            if (String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0)
                throw new InvalidOperationException("Invalid file.");

            if (0 < SetupInfo.MaxUploadSize && SetupInfo.MaxUploadSize < file.ContentLength)
                throw FileSizeComment.FileSizeException;

            if (CallContext.GetData("CURRENT_ACCOUNT") == null)
                CallContext.SetData("CURRENT_ACCOUNT", new Guid(context.Request["UserID"]));


            var fileName = file.FileName.LastIndexOf('\\') != -1
                               ? file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1)
                               : file.FileName;


            var document = new File
                               {
                                   Title = fileName,
                                   FolderID = Global.DaoFactory.GetFileDao().GetRoot(),
                                   ContentLength = file.ContentLength
                               };

            document.ContentType = MimeMapping.GetMimeMapping(document.Title);

            document = Global.DaoFactory.GetFileDao().SaveFile(document, file.InputStream);

            fileUploadResult.Data = document.ID;
            fileUploadResult.FileName = document.Title;
            fileUploadResult.FileURL = document.FileUri;


            fileUploadResult.Success = true;


            return fileUploadResult;

        }