그럼, 더 잘 설명해 드리겠습니다. 제목에별로 언급하지 않는다고 확신합니다.jquery ajax를 통해 이미지 업로드 및로드
저는 회사 시스템에서 몇 가지 개선 작업을 담당하고 있습니다. 이제 시스템은 현재 이미지를 파일로 저장하고 이미지 경로를 데이터베이스에 삽입합니다.
그렇다면 문제가 무엇인가요? 글쎄, 서버가 항상 많은 이미지를 삽입하게되면, 서버는 약간의 개선이 필요할 것입니다. 그래서 첫 번째 생각은 이미지 데이터를 데이터베이스에 저장하고 아약스 호출을 통해로드하는 것입니다. 그게 좋은, 그것은 이미지에서 기가 바이트의 많은 서버가 오버로드되지 않습니다 중복 등 문제가되지 않습니다,하지만 내가 jQuery에서 아약스 메서드를 호출하면 서버 측에 보낸 데이터는 쿼리 문자열을 통해입니다 데이터가 6000 자보다 높으면 Base64 인코딩을 사용할 때와 마찬가지로 대부분이 메서드를 호출 할 수 없습니다.
다른 생각은 서버 측에 이미지를 보내고 데이터베이스에 저장할 데이터를 생성하고 사용자가 이미지를보고 싶을 때 서버가 데이터를 이미지로 변환하고 클라이언트로 보냅니다. 측면. 그러나 문제는이 시스템에 많은 사용자가 있고 이미지를 많이 보내거나 받는다는 것은 많은 양의 요청으로 인해 서버가 메모리 문제를 일으킬 수 있다는 것입니다.
짧은 이야기를하기 위해 클라이언트에서 서버로 이미지를 보내거나받는 가장 좋은 방법은 무엇이며 서버 용량에 과부하가 걸리지 않도록하는 것이 가장 좋습니다.
P .: 긴 게시글에 대해 사과드립니다. 나는 명확한 질문을하고 싶었습니다.
미리 감사드립니다.
데이터베이스의 이미지는 거의 항상 나쁜 아이디어이며, 모든 것을 base64로 보내면 대역폭 청구서 ~ 33 %. 이미지를 파일 시스템에 저장하고 이미지의 PATH를 데이터베이스에 저장하면 표준 ''태그로 쉽게로드 할 수 있습니다. –
우선, 빠른 답변에 감사 드리며 둘째, 하드 드라이브의 공간을 줄이기 위해 서버 측을 절약 할 때 이미지를 압축 할 가치가 있다고 생각합니까? 24/7 시스템으로 서버/클라이언트간에 끊임없이 이미지를 교환하므로 서버에 과부하가 걸립니다. –
@MarcB : 이미지를 웹 응용 프로그램의 실제 폴더에 직접 저장해서는 안된다는 점도 중요합니다.오히려 별도의 공유에 저장하고 별도의 서버에서 처리 할 수있는 URL 외관을 통해 노출합니다. 제대로 수행되면 보안 및 성능이 향상됩니다. –