部分的な一致に基づいてWebサーバーから.pdfファイルをフェッチする際に問題が発生した場合は、JavaScriptの初心者を完全に完全に理解してください。Webサーバーにデータを出力するプログラムを作成しました。コンポーネントの1つは、.pdfファイルのフォルダーです。生成されたデータテーブルの値に基づいて、対応する.pdfファイルをプルアップするリンクをクリックできるようにしたい(これにはslickgridを使用しています)。各.pdfファイルには、データテーブルにあり、.pdfフォルダーへの適切なクエリとして機能する値が含まれています。次のコードを使用して、必要な.pdfを取得することに成功しました。
var value = grid.getData().getItem(row)['data'];
var locpath = window.location.pathname.substring(0,window.location.pathname.lastIndexOf('/'));
var plotsFolder = window.location.protocol + "//" + window.location.host + locpath + "/CovPlots/";
var href = plotsFolder + value + ".pdf";
return "<a href='" + href + "'>" + value + "</a>";
ここでの落とし穴は、生成される.pdfファイルが2つ以上の「data」文字列の連結であり、取得する価値がない理由で区切り文字として「_」で区切られていることです。の中へ。したがって、.pdfファイルが「somestring.pdf」の場合、問題なく取得できます。ただし、.pdfファイルが「somestring_anotherstring.pdf」の場合、「data」の値として「somestring」または「anotherstring」があると、その.pdfファイルを取得する方法がわかりません。
部分的な一致に基づいて正しいファイルをプルダウンするために使用できるある種のルックアップを取得するために、さまざまなことを試しました。最新の試みはjavascriptのFilenameFilterオブジェクトを使用することですが、javascriptの知識がないため、動作させるのに苦労しています。.pdfURLのルックアップとして呼び出すことができる新しい関数を作成しようとしました。
function lookup() {
File directory = new File(plotsFolder);
String[] myFiles = directory.list(new FilenameFilter() {
public boolean accept(File directory, String fileName) {
return fileName.match(value);
}
});
}
それはエラーを投げたようです。部分一致に基づいて正しい.pdfファイルをダウンロードできるように、誰かが私を正しい方向に向けることができますか?また、jqueryでそれを行う方法があるかどうかを確認しようとしましたが、機能するものが見つからなかったようです。前もって感謝します!