Как можно проиграть видео в браузере, при том что видео находиться на локальной машине.
Может кто стыкался с такой проблемой, какие плееры юзали? Больше интересуют плееры на распространенные форматы. Как их подключать что бы читать файл с локальной машины? Уже пробовал писать сервлет который возвращает поток, все равно не помагало.
package compam.servlets;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import compam.model.Film;
import compam.services.FilmService;
/**
* Servlet implementation class DownloadService
*/
@WebServlet("/download")
public class DownloadFilm extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
Film film = new Film();
film = new FilmService().getFilmById(id);
String path = film.getFileLink();
int length = 0;
File file = new File(path);
ServletOutputStream outputStream = response.getOutputStream();
String mimeType = getServletConfig().getServletContext().getMimeType(
path);
response.setContentType((mimeType != null) ? mimeType
: "application/octet-stream");
response.setContentLength((int) file.length());
response.setHeader("Content-Disposition", "attachment; filename=\""
+ film.getName().replace(" ", "_") + "\"");
byte[] bbuf = new byte[4096];
DataInputStream in = new DataInputStream(new FileInputStream(file));
while ((in != null) && ((length = in.read(bbuf)) != -1)) {
outputStream.write(bbuf, 0, length);
}
in.close();
outputStream.flush();
outputStream.close();
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
}
Кто знает как решить такую проблему?
Свежие комментарии