Executando verificação de segurança...
1

como eu faço pra guardar videos e imagem? kkkk

faz um tempão que eu estava fazendo um projeto pra quardar e ver videos e imagens, mas estavam falando que não pode quardar no servidor direto porque se atualizar o codigo todos arquivos somem, não pode adicionar no banco de dados pq fica muito pesado, então é pra colocar a onde?

Carregando publicação patrocinada...
3

o que eu já fiz em um projeto antigo foi usar um servidor php pra hospedar imagens e fiz o resto do projeto em nodejs.

servidor de imagens em php: https://github.com/pedroaf0/students-match-img-service

hospedei de graça no 000webhost

app que fiz em node que usava esse servidor de imagem: https://github.com/pedroaf0/students-match-backend

https://github.com/pedroaf0/students-match-frontend

hoje em dia eu faria tudo em php, pensando em custo beneficio, mas não vou negar que valeu a experiência.

node e pyton é legal mas php é sempre a melhor opção pra desenvolver web em 90% dos casos em minha opinião que não importa muito.

1

eu tinha feito usando nodejs, e recentemente descobri que é muito mais fácil fazer no php kkkkk. quando eu descobri que daria pra fazer de foma simples no php, eu fiqui louco pra refazer esse projeto kkkkk

3

Opções muito utilizadas e confiáveis são o Amazon AWS S3 e o Firebase do Google. Busque estudar as soluções e como se integram com a linguagem de programação e tecnologia que está utilizando.
E, realmente, a depender da solução de hospedagem utilizada para sua aplicação, os dados gravados em disco não são persistidos de forma definitiva após um deploy ou reboot. Portanto, melhor utilizar outra solução para armazenamento de arquivos, como as supracitadas.

3

Esquecendo a complexidade adicional de serviços como AWS S3, vamos para o basico:

  1. Não pode salvar no servidor?

Claro que pode, porém você deve saber aonde está salvando, pois determinados diretórios podem ser sobre escritos (por exemplo a pasta vendor de um projeto PHP ou a pasta node_modules de um projeto node).

Além disso, você precisa se preocupar com o backup desses arquivos (da mesma forma que precisa se preocupar com backup do banco)

  1. Faça o upload para uma pasta privada e sanitize o arquivo

O arquivo ao ser feito upload deve ser movido para uma pasta que não é acessível diretamente pelo webserver.

Também é uma boa pratica verificar se o arquivo está no tamanho e formato que deveriam estar, e descartar caso contrário.

Além disso é uma boa prática mudar o nome do arquivo para algo aleatório, e se necessário guardar o nome original no banco de dados.

  1. Guarde referência do arquivo no banco de dados

No seu bando devera haver uma tabela para representar os arquivos, mostrando aonde o arquivo de fato está salvo

  1. Crie endpoints para manusear os arquivos

Se o arquivo não está publico no servidor, então precisamos de um endpoint que entregue o arquivo quando solicitado

2

Depende da sua necessidade. Vou falar mais sobre vídeos.
É para fazer streaming do vídeo? Sugiro o serviço:
Amazon Kinesis
ou
Amazon Managed Service for Apache Flink

É apenas para guardar o arquivo, mas tem a necessidade de compartilhar?
Amazon S3
ou
AWS Storage Gateway

É apenas uma espécie de backup?
S3 Glacier

1

salva os arquivos em pastas e salva um link para o arquivo no banco de dados. Na hora de subir, sobe o arquivo pra pasta e salva no DB, pra servir, mesma coisa. Era assim que eu fazia no Django... pelo menos eu acho que era.. kkkkk

1