Pergunta

i tenho sido abordado para criar um bespoke ftp aplicativo que os usuários vão baixar, a fim de ser capaz de fazer upload de arquivos de vídeo (até 100MB).

  • que quer que seja à prova de idiotas (ou seja fácil para não-computador alfabetizados pessoas). Estou assumindo que a criação de um aplicativo de FTP como FileZilla com o seu nome de usuário e senha seria demasiado de um estiramento para a maioria dos usuários.
  • multiplataforma (ouch)

Com certeza eu não sou a primeira pessoa que abordou o problema de como para permitir aos usuários fazer upload de arquivos enormes. Querendo saber se alguém pode me dar alguma dica.

Foi útil?

Solução

(Tem que ser FTP? FTP ter problemas com firewalls, modo ASCII e, claro, a senha é em claro.)

Muitas línguas têm bibliotecas disponíveis que você poderia amarrar em conjunto com uma pequena quantidade de UI cola para fazer o seu próprio simples carregador aplicativo FTP. Por exemplo Python tem uma ftplib na biblioteca padrão. A última vez que fez isso foi em C com ftplib de Pfau, por exemplo, mas modernas linguagens de script será muito mais fácil de escrever em se você não se importa a sobrecarga de empacotar seu aplicativo com um intérprete.

Você tem .NET em suas tags ... não há FTP na biblioteca de classes padrão para .NET, mas certamente você pode baixar bibliotecas de terceiros livremente. Por outro lado, você diz multi-plataforma, então eu não tenho certeza se você está realmente falando .NET no cliente.

O que você poderia fazer é fornecer vários meios de upload, por exemplo, um HTTP básica * upload de arquivos construído em seu site, que todo mundo vai saber como usar, e um padrão [S?] Interface de FTP para os usuários avançados que vai ser capaz de operar um cliente FTP. Não que operam um cliente FTP é realmente que difícil: basta dizer-lhes para colar um ftp:. // URL no Windows Explorer ea maioria das pessoas deve começar em tudo certo

*: o ideal é usar um feedback AJAX para permitir que o know usuário como para o seu carregamento está indo, e / ou, talvez, um Flash uploader. E lembre-se de desligar /-se todas as regras de script de tempo de espera no servidor para que ele não desistir no meio através de um upload. HTTP carregamento nunca será ideal para arquivos da ordem de 100 MB, mas você pode certamente melhorar a falta de resposta do padrão, em vez de baixa qualidade de navegadores aqui.

Outras dicas

Fazer upload para onde?

Você pode obter todos para instalar Dropbox e criar um compartilhamento de uma conta empresarial que todos eles têm acesso.

Você pode querer pensar em single-sign-on estratégias, se você não quiser que os usuários têm de fornecer nome de usuário e senha.

Se o usuário tem que fazer upload de arquivo grande, olhar para ter um tipo de funcionalidade currículo.

é FTP a única opção? Se você pode implementar base de algo em P2P (BitTorrent) você poderia começar currículo e funcionalidade integridade de arquivos grandes.

Aqui está 2 como eu tenho de googling biblioteca bittorent

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

Embora não seja FTP, você pode tentar usar swfupload para fazer upload de arquivos através de HTTP. Nós estamos usando isso para aprox. uploads de arquivo de 100MB no IIS e ele funciona razoavelmente bem.

Note que você tem que definir o tamanho da solicitação máxima no web.config para 100 ou mais MB ...

arquivos 100MB de upload não é mais complexo do que arquivos de 1 KB. Você deve simplesmente assegurar que o receptor (neste caso, o servidor) não tentar receber o arquivo inteiro na memória. O servidor pode gravar os dados imediatamente para o disco ou em um CLOB db. O servidor lê a partir do fluxo de entrada e grava no fluxo de saída, com poucos recursos necessários.

Obrigado rapazes, devo dizer que esta foi a resposta mais abrangente que já tive em um fórum.

Pense eu vou sugerir 2 rotas como bobince mencionado

1) http usando SWFUpload (bh213), eu usei isso antes. É muito fácil de configurar e tem uma experiência boa usuário

2), em seguida, oferecer uma opção ftp. Ou usando um navegador ou algo parecido filezilla.

Como sobre a construção de um aplicativo simples Adobe Air com JS e HTML Eu acredito que agora tem uma capacidade de tomada de FTP. Você também pode usar a configuração na DB para armazenar os detalhes do que está enviadas onde, pegada pequena, multi-plataforma e você pode construí-lo no que você sente melhor em (Flash, Flex, JS / HTML).

Eu tenho requisitos semelhantes e eu estou olhando para usar o Adobe AIR e jQuery ou Ext para a solução.

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