public RetornoModel <UploadFotoModel> Upload(HttpPostedFileBase arquivo)
        {
            string          nomeArq = null;
            UploadFotoModel retorno = null;

            try
            {
                if ((arquivo != null) && (arquivo.ContentLength > 0))
                {
                    string content = arquivo.ContentType.Split('/')[0];
                    if (content == "image")
                    {
                        if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize))
                        {
                            int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize) / 1024);
                            return(new RetornoModel <UploadFotoModel> {
                                Mensagem = "O tamanho máximo para upload de imagem é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false
                            });
                        }
                        //Salva o arquivo
                        nomeArq = Guid.NewGuid().ToString() + Path.GetExtension(arquivo.FileName);
                        string caminhoArquivo = ConfiguracaoAppUtil.GetPath(enumConfiguracaoLib.indicadoFotoDiretorio, nomeArq);
                        arquivo.SaveAs(caminhoArquivo);

                        if (!AntivirusUtil.Verificar(caminhoArquivo))
                        {
                            return(new RetornoModel <UploadFotoModel> {
                                Mensagem = "Este arquivo contém vírus, favor tentar outro arquivo.", Sucesso = false
                            });
                        }
                        Image img = Image.FromFile(caminhoArquivo);
                        retorno = new UploadFotoModel
                        {
                            file   = nomeArq,
                            width  = img.Width,
                            height = img.Height,
                            x      = Convert.ToInt32((indicadoMaxWidth - img.Width) / 2),
                            y      = Convert.ToInt32((indicadoMaxHeight - img.Height) / 2)
                        };
                    }
                    else
                    {
                        return(new RetornoModel <UploadFotoModel> {
                            Mensagem = "Tipo de arquivo inválido.", Sucesso = false
                        });
                    }
                }
                else
                {
                    return(new RetornoModel <UploadFotoModel> {
                        Mensagem = "Nenhum arquivo enviado.", Sucesso = false
                    });
                }
            }
            catch (Exception e)
            {
                LogUtil.Error(e);
                return(new RetornoModel <UploadFotoModel> {
                    Mensagem = "Falha no upload, tente novamente!", Sucesso = false
                });
            }
            return(new RetornoModel <UploadFotoModel> {
                Retorno = retorno, Mensagem = "Upload realizado com sucesso.", Sucesso = true
            });
        }
        public RetornoModel <string> Upload(HttpPostedFileBase arquivo)
        {
            string nomeArq = null;

            try
            {
                if ((arquivo != null) && (arquivo.ContentLength > 0))
                {
                    string content = arquivo.ContentType.Split('/')[0];
                    if (content == "image" || content == "video")
                    {
                        //Salva o arquivo
                        nomeArq = Guid.NewGuid().ToString();
                        string nomeArqSalvar = nomeArq;
                        if (content == "image")
                        {
                            if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize))
                            {
                                int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadImagemMaxSize) / 1024);
                                return(new RetornoModel <string> {
                                    Mensagem = "O tamanho máximo para upload de imagem é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false
                                });
                            }
                            nomeArqSalvar += Path.GetExtension(arquivo.FileName);
                            nomeArq        = nomeArqSalvar;
                        }
                        else
                        {
                            if (arquivo.ContentLength > ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadVideoMaxSize))
                            {
                                int maxKb = Convert.ToInt32(ConfiguracaoAppUtil.GetAsInt(enumConfiguracaoLib.uploadVideoMaxSize) / 1024);
                                return(new RetornoModel <string> {
                                    Mensagem = "O tamanho máximo para upload de vídeo é de " + ((maxKb > 1024) ? Convert.ToInt32(maxKb / 1024) + "Mb" : maxKb + "Kb") + ".", Sucesso = false
                                });
                            }
                            nomeArqSalvar += ".orig" + Path.GetExtension(arquivo.FileName);
                        }
                        string caminhoArquivo = ConfiguracaoAppUtil.GetPath(enumConfiguracaoLib.historiaMidiaDiretorio, nomeArqSalvar);
                        arquivo.SaveAs(caminhoArquivo);

                        if (!AntivirusUtil.Verificar(caminhoArquivo))
                        {
                            return(new RetornoModel <string> {
                                Mensagem = "Este arquivo contém vírus, favor tentar outro arquivo.", Sucesso = false
                            });
                        }
                        else
                        {
                            if (content == "video")
                            {
                                Task.Run(() => ConverterVideo(caminhoArquivo, nomeArq));
                            }
                        }
                    }
                    else
                    {
                        return(new RetornoModel <string> {
                            Mensagem = "Tipo de arquivo inválido.", Sucesso = false
                        });
                    }
                }
                else
                {
                    return(new RetornoModel <string> {
                        Mensagem = "Nenhum arquivo enviado.", Sucesso = false
                    });
                }
            }
            catch (Exception e)
            {
                LogUtil.Error(e);
                return(new RetornoModel <string> {
                    Mensagem = "Falha no upload, tente novamente!", Sucesso = false
                });
            }
            return(new RetornoModel <string> {
                Retorno = nomeArq, Mensagem = "Upload realizado com sucesso", Sucesso = true
            });
        }
        public RetornoModel <string> Upload(HttpPostedFileBase arquivo)
        {
            string nomeArq = null;

            try
            {
                if ((arquivo != null) && (arquivo.ContentLength > 0))
                {
                    string content = arquivo.ContentType.Split('/')[0];

                    if (content == "image" || content == "video" || content == "audio")
                    {
                        //Salva o arquivo
                        nomeArq = Guid.NewGuid().ToString();
                        string nomeArqSalvar = nomeArq;
                        if (content == "image")
                        {
                            nomeArqSalvar += Path.GetExtension(arquivo.FileName);
                            nomeArq        = nomeArqSalvar;
                        }
                        else if (content == "audio")
                        {
                            nomeArqSalvar += Path.GetExtension(arquivo.FileName);
                            nomeArq        = nomeArqSalvar;
                        }
                        else
                        {
                            nomeArqSalvar += ".orig" + Path.GetExtension(arquivo.FileName);
                        }
                        string caminhoArquivo = ConfiguracaoAppUtil.GetPath(enumConfiguracaoLib.editorialMidiaDiretorio, nomeArqSalvar);
                        arquivo.SaveAs(caminhoArquivo);

                        if (!AntivirusUtil.Verificar(caminhoArquivo))
                        {
                            return(new RetornoModel <string> {
                                Mensagem = "Este arquivo contém vírus, favor tentar outro arquivo.", Sucesso = false
                            });
                        }
                        else
                        {
                            if (content == "video")
                            {
                                Task.Run(() => ConverterVideo(caminhoArquivo, nomeArq));
                            }
                        }
                    }
                    else
                    {
                        return(new RetornoModel <string> {
                            Mensagem = "Tipo de arquivo inválido.", Sucesso = false
                        });
                    }
                }
                else
                {
                    return(new RetornoModel <string> {
                        Mensagem = "Nenhum arquivo enviado.", Sucesso = false
                    });
                }
            }
            catch (Exception e)
            {
                LogUtil.Error(e);
                return(new RetornoModel <string> {
                    Mensagem = "Falha no upload, tente novamente!", Sucesso = false
                });
            }
            return(new RetornoModel <string> {
                Retorno = nomeArq, Mensagem = "Upload realizado com sucesso", Sucesso = true
            });
        }