これが私の問題です。
顧客がいくつかの Web フォームに入力するためのプログラムによる方法 (顧客が何も入力することなく) を作成しようとしています。このために、カスタム ブラウザーを作成しました (これは、xulrunner v10.0 をサポートする eclipse swt を使用して、Java アプリケーションとして顧客のマシンにインストールされます)。
これらのフォームの 1 つは、blueimp jquery fileupload plugin
. このファイルは、事前定義されたディレクトリ (Windows のみのアプリケーションであるため、C:\ としましょう) で顧客のマシンにホストされます。
次のスニペットを使用しました。
お客様のローカル マシンでホストされている JavaScript を使用してファイルを作成します。
var myFile = File("C:\some_dummy_file");
プログラムでファイルをアップロードします。
$('#some_form').fileupload('add', {files: myFile});
すべてが正常に機能していますが、1 つの例外があります
。アップロードされたファイルには、存在するディレクトリが含まれているように見えるため、 ( 'some_dummy_file' ではなく) 'C:some_dummy_file'という名前が付けられています。残念ながら、サーバーはファイル名の検証を適用するため、名前が'some_dummy_file' のファイルのみを想定しているため、アップロードを拒否します。
さらに、サーバー側で制御できないため、サーバー側でファイル名を変更することはできません (これらのケースの例をいくつか見ましたが、私の場合は使用できません)。
利用可能なオプション/回避策は何ですか? ファイルを追加 (または送信) する前に名前を変更する方法はありますか? もちろん、私がファイルを作成している方法(var myFile = File("C:\some_dummy_file");
)は単なる提案であるため、私の問題を解決する他の提案は大歓迎です。
事前にどうもありがとうございました