From c2a4b01a9c3f3bf94b29ff39c34d7d169d66f939 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Thu, 20 Jan 2022 20:25:06 +0000 Subject: [PATCH] Allow local playback of media files --- src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java index 9d5373a4..445ff2f6 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java @@ -119,7 +119,7 @@ public class ArbitraryDataRenderer { byte[] data = Files.readAllBytes(Paths.get(filePath)); // TODO: limit file size that can be read into memory HTMLParser htmlParser = new HTMLParser(resourceId, inPath, prefix, usePrefix, data); htmlParser.addAdditionalHeaderTags(); - response.addHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline'"); + response.addHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline'; media-src 'self' blob:"); response.setContentType(context.getMimeType(filename)); response.setContentLength(htmlParser.getData().length); response.getOutputStream().write(htmlParser.getData()); @@ -128,7 +128,7 @@ public class ArbitraryDataRenderer { // Regular file - can be streamed directly File file = new File(filePath); FileInputStream inputStream = new FileInputStream(file); - response.addHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline'"); + response.addHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline'; media-src 'self' blob:"); response.setContentType(context.getMimeType(filename)); int bytesRead, length = 0; byte[] buffer = new byte[10240];