Pergunta

Eu tenho um relatório que actualmente permitem que o usuário escolha uma opção de saída (HTML ou PDF) quando eles estão fornecendo os parâmetros do relatório (intervalo de datas, filtros, etc.).

Eu quero mudar o relatório de tal forma que ele sempre faz HTML e coloca um link na página HTML processado para que o usuário pode pegar o PDF se eles querem.

Como faço para modificar a configuração do IIS6 / IIS7, permissões de usuário, etc, para permitir que o meu site para escrever o PDF para o sistema de arquivos? Qualquer código C # seria apreciada.

Estou pensando em criar PDFs com nomes aleatórios e adicionando um processo para PDFs velhos limpeza então eu não ter um problema de espaço em disco. Esta é uma aplicação web pouco usado por isso não estou preocupado sobre ter lotes de arquivos antigos PDF que penduram ao redor.

Foi útil?

Solução

No IIS 6 Manager, vá para pools de aplicativos e obter as propriedades do pool de aplicativos o seu site está em execução no (se você não tiver certeza, é no site de diálogo Propriedades> guia Home Directory). Vá para a guia identidade e ver o que conta de usuário que pool de aplicativo está sendo executado.

Então vá para o destino de pasta que você quer escrever o PDF para, clique com o botão direito e vá para Propriedades> Segurança> Adicionar e adicione "write" para a conta listada para o pool de aplicativo.

Outras dicas

n IIS 6 Manager, vá para pools de aplicativos e obter as propriedades do pool de aplicativos o seu site está em execução no (se você não tiver certeza, é no diálogo> Home guia Diretório Web Site Properties). Vá para a guia identidade e ver o que conta de usuário que pool de aplicativo está sendo executado.

Então vá para o destino de pasta que você quer escrever o PDF para, clique com o botão direito e vá para Propriedades> Segurança> Adicionar e adicione "write" para a conta listada para o pool de aplicativo.

Tudo que você precisa fazer é ter certeza de que o ID do usuário que o site está sendo executado em (ou o usuário dessa logado Se o seu site é executado dessa forma) tem permissão de escrita para o diretório que você está criando os PDFs em.

Você deve dar uma olhada no namespace System.Security.Permissions ea classe FileIOPermission em .NET para que você possa se certificar de suas permissões de arquivo estão definidas corretamente ao tentar gravar seus arquivos.

Eu usá-lo da mesma forma que você precisar dele (escrevendo arquivos PDF para o servidor antes de servir-los de volta para o usuário).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top