2012-06-14 3 views
4

4MB mpe 파일을 App Engine blobstore에 업로드했습니다. Blob 키를 검색하여 HTML 5 오디오 태그를 사용하여 jsp 파일로 재생하려고했습니다. 그러나 그것은 작동하지 않습니다. 코드는 아래와 같습니다 :HTML5 오디오 태그가있는 jsp 파일에서 앱 엔진의 blob 저장소의 Blob 키를 사용하여 mp3 파일을 재생하는 방법은 무엇입니까?

<%@page import="com.google.appengine.api.blobstore.BlobKey" %> 
<%@page import="com.google.appengine.api.blobstore.BlobstoreService" %> 
<%@page import="com.google.appengine.api.blobstore.BlobstoreServiceFactory" %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="audio/mpeg3; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<% 
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
BlobKey blobKey = new BlobKey(request.getParameter("blob-key")); 
%><%=request.getParameter("blob-key")%> 

<audio controls="controls"> 
    <source src="<%=request.getParameter("blob-key")%>" type="audio/mp3" /> 
</audio> 
</body> 
</html> 

답변

3

오디오 태그의 src 속성은 BLOB (오디오 스트림)을 다운로드 할 수있는 URL을 가리켜 야합니다. 대신 BLOB 키 (임의의 문자열이며 Url이 아니므로 아무 것도 가리 키지 않습니다)의 값만 보유합니다.

serve a blob을 읽는 것이 가장 좋습니다.

기본적으로 범용 URL을 제공하지 않으므로 요청할 수 있고 BLOB를 제공 할 수 있습니다. blob을 제공하는 서블릿을 만들고 (링크의 예를 참조하십시오) src="/path/to/your/blob/servlet?key=<%=request.getParameter("blob-key")%>"을 통해 HTML5 오디오 컨트롤을 가리켜 야합니다.

+0

위 코드에서 문제가있는 경우 res.setContentType ("audio/mpeg3") res.setContentType ("Content-Disposition", "attachment, filename = en.mp3") 응답 헤더 및 내용도 설정하십시오. ; –