30/09/2018, 19:59

Vấn đề upload ảnh lên server bằng Java

mình đang làm 1 website tới phầ upload ảnh thì không biết phải làm thế nào , ở đây có 3 câu hỏi

  1. làm sao để 1 lần upload được từ 2-4 ảnh(trước mắt thì chưa cần kiểm tra đó có phải là file ảnh hay ko , vì có thể hacker nó upsell bằng file.jpg nhưng giờ thì chưa cần quan tâm đến vđ đó)
  2. sau khi upload ảnh lên thì lưu ở đâu? trên folder của server hay ở database , nếu lưu ở folder server thì có sợ bị trùng tên hay không
    3.mình muốn hỏi là như mấy trang rao vặt lúc mình bấm upload ảnh mà chưa bấm đăng bài thì cái ảnh đó đã được lưu trên server chưa, nếu chưa thì nó lưu ở đâu vì mình nghĩ nếu chưa bấm đăng bài thì chưa nên lưu nó lại vì nặng server rồi nếu họ ko đăng bài thì lại mất công xóa nữa…

mình viết bằng java dùng jsf + ejb csdl mysql

Itachi Citus viết 22:13 ngày 30/09/2018
  1. Html nó có thuộc tính multiple, bạn có thể xem ở đây http://www.w3schools.com/tags/att_input_multiple.asp. Về phần server thì java mình ko rõ.
  2. Có 2 giải pháp: Lưu trong database, bạn encode về base64 và lưu trong một trường text, hoặc lưu thành file. Lưu thành file có ưu điểm hơn vì nó cho phép bạn dễ dàng tùy chỉnh, không gây quá tải cho database, tốc độ nhanh hơn. Lưu thông thường người ta sẽ lưu theo id được generate chứ không lưu tên file gốc người dùng up.
  3. Cái đó tùy trang quy định thôi, nếu muốn người dùng trải nghiệm nhanh thì up lên để sẵn, nhưng nếu có nút upload thì có nghĩa là đã up lên rồi. Thao tác xóa tương đối nhanh mà.
  4. Nếu bạn làm ứng dụng thực thì người ta không lưu trữ trực tiếp trên server chính mà người ta sẽ lưu trữ ở bên thứ 3, ở các dịch vụ cdn, để tránh tiêu tốn tài nguyên, băng thông của ứng dụng chính, tiết kiệm chi phí, ví dụ như http://cloudinary.com/pricing hoặc của amazon https://aws.amazon.com/cloudfront/
Phan Hoàng viết 22:15 ngày 30/09/2018
  1. Mình nghĩ nên dùng giải pháp upload queue hay hơn. Ví dụ như sử dụng plupload, …
  2. Nên lưu vào ổ cứng, chứ vào db sẽ rất ảnh hưởng tới performance của db server.
  3. Html5 cho phép hiển thị ảnh trong local (fileapi) mà k cần upload.
Reoteu Ray viết 22:15 ngày 30/09/2018

ok thanks all…

Bài liên quan
0