jsp video struts2

¿Cómo reproduzco video desde la ubicación del sistema usando struts2 y jsp?



(1)

Aquí hay una página jsp para mostrar videos

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <video width="400" controls> <source src="<s:url value="videoStream" />" type="video/mp4"/> <source src="mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> </body> </html>

Asigne la solicitud s: url para reforzar la acción de acción en struts.xml

<struts> <package name="user" namespace="/" extends="struts-default"> <action name="videoStream" class="com.pradeep.videostream.VideoStreamingAction"> <result name="success" type="stream"> <param name="contentType">${yourContentType}</param> <param name="inputName">inputStream</param> <param name="contentDisposition">attachment;filename="${yourFileName}"</param> <param name="bufferSize">1024</param> </result> </action> </package> </struts>

en la clase de acción estoy escribiendo un archivo de video desde el sistema de archivos y haciendo streaming

public class VideoStreamingAction extends ActionSupport { private InputStream inputStream; private String yourContentType; // getters and setters public String execute() throws Exception { yourContentType = "video/mp4"; File file =new File("D://svn videos//Create Java Spring Web MVC Project With Maven [EDITED].mp4"); setInputStream(new ByteArrayInputStream(FileUtils.readFileToByteArray(file))); return SUCCESS; } }

Hola, estoy luchando para reproducir archivos de video en un archivo jsp desde la ubicación del sistema usando struts2. Pero si coloco el archivo de video (Sample.mp4) bajo el contenido web en eclipse y solo uso la etiqueta de video en jsp con fileName como a continuación, se reproducirá.

<source src="Sample.mp4" type="video/mp4"/>

¿Cómo reproduzco el video que está en el ejemplo de ubicación del sistema d: /video/sample.mp4?

Clase de acción

public class DownloadAction extends ActionSupport { private InputStream fileInputStream; private String fileToDownload = "D://video//Sample.mp4"; private String fileName; private String contentType = "video/mp4"; public String execute() throws Exception { fileInputStream = new FileInputStream(fileToDownload); return SUCCESS; } public InputStream getFileInputStream() { return fileInputStream; } public void setFileInputStream(InputStream fileInputStream) { this.fileInputStream = fileInputStream; } public String getFileToDownload() { return fileToDownload; } public void setFileToDownload(String fileToDownload) { this.fileToDownload = fileToDownload; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getContentType() { return contentType; } public void setContentType(String contentType) { this.contentType = contentType; } }

struts.xml

<action name="download" class="com.sample.actions.DownloadAction"> <result name="success" type="stream"> <param name="contentType">${contentType}</param> <param name="inputName">fileInputStream</param> <param name="contentDisposition">attachment;filename="${fileName}"</param> <param name="bufferSize">1024</param> </result> </action>

en Jsp

<body> <% String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); url = url + "//download"; %> <video width="320" height="240" controls> <source src=<%=url%>> </video> </body>