无法在我自己的服务器提供的chrome中搜索音频文件
我正在尝试用Java创建一个可以提供可搜索音频文件的文件服务器。 但我在Google Chrome html5音频播放器中找不到我提供的文件。 当我向前寻求时它什么都不做(即使是在下载的内容上),如果向后搜索太多则从头开始。 如果我从不同的位置加载文件( http://www.vorbis.com/music/Epoq-Lepidoptera.ogg ),那么它是可以搜索的。
这是我的服务器代码
package com.company; import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; import java.io.*; import java.net.InetSocketAddress; public class Main { public static void main(String[] args) throws Exception { HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0); server.createContext("/Epoq-Lepidoptera.ogg", new MyHandler()); server.setExecutor(null); // creates a default executor server.start(); } static class MyHandler implements HttpHandler { public void handle(HttpExchange httpExchange) throws IOException { long contentLength; File file = new File("Epoq-Lepidoptera.ogg"); FileInputStream fis = new FileInputStream(file); BufferedInputStream bis = new BufferedInputStream(fis); contentLength = file.length(); System.out.println(contentLength); Headers headers = httpExchange.getResponseHeaders(); headers.add("content-type", "audio/ogg"); // ok, we are ready to send the response. httpExchange.sendResponseHeaders(200, contentLength); OutputStream os = httpExchange.getResponseBody(); byte[] data = new byte[1000]; while (true) { int bytesRead = bis.read(data); if (bytesRead == -1) break; os.write(data, 0, bytesRead); } os.close(); System.out.println("request served"); } } }
我正在使用这个html文件来测试音频。
但是以下文件是可以搜索的
我做错了什么或者我应该在我的服务器中实现什么来使文件可以搜索,最小化下载内容(在白条中显示)
此问题仅适用于Google Chrome,而不适用于Firefox。 Firefox可以搜索加载的内容。
- 使用Selenium的Chrome驱动程序:“找不到适合RemoteWebDriver的构造函数”
- 启动webstart而不下载……?
- 适用于Chrome和Internet Explorer的GWT Developer插件 – 防止安装错误
- Chrome版本44在selenium测试中存在一些问题
- 如何在多个浏览器中运行Selenium测试,以便使用Java进行跨浏览器测试?
- Chrome与Java SSL Server握手时关闭连接
- 使用selenium自定义Chrome webdriver以保存文件,而不会在下载时提示保存或丢弃文件
- Native Messaging主机尝试发送长度为977472013字节的消息
- JTabbedPane:标签本身之前和之后的组件