我尝试将内容提取的PDF发送到Tika服务器但总是收到错误:&#34;无法使用源编码转换来自流的文本&#34; < / p>
这就是Tika期待文件的方式:
&#34;所有采用文件的服务都使用HTTP&#34; PUT&#34;要求。当&#34; PUT&#34;如果使用,原始文件必须在请求正文中发送而不需要任何其他编码(不要使用multipart / form-data或其他容器)。&#34; 来源http://www.quirksmode.org/js/popup.html
使用XMLHttpRequest()发送文件的正确方法是什么?
代码:
var response, error, file, blob, xhr;
file = new File("/PROJECT/web/dateien/ai/pdf.pdf");
blob = file.toBuffer().toBlob("application/pdf");
url = "http://localhost:9998/tika";
// send data
try {
xhr = new XMLHttpRequest();
xhr.open("PUT", url);
xhr.setRequestHeader("Accept", "text/plain");
xhr.send(blob);
} catch (e) {
error = e;
}
({
response: xhr.responseText,
status: xhr.statusText,
error: error,
type: xhr.responseType,
blob: blob
});
错误:
答案 0 :(得分:2)
我怀疑当XHR体内有blob时,Wakanda会将PUT请求转换为POST请求。您可以通过电汇查询您的XHR请求并添加详细信息吗?如果是这样,您可以填写wakanda(https://github.com/Wakanda/wakanda-issues/issues)
中的问题希望它有所帮助, 晏