質問: 「ドラッグ&ドロップ」もしくは「ファイル選択ダイアログ」を通してファイルをアップロードするWebサービスがあります(念のためサイト名を明らかにしておいたほうがよいのであれば、『livedoor blog』の管理画面です)。 そこへ、自分用に作ったTampermonkeyのユーザースクリプトを使って自動でファイルをアップロードしたいのですが...... アップロードしたいローカルファイルのパスをどうにかそのサイトに渡して、「まるでそのファイルがドロップされたかのような」あるいは「まるでそのファイルがダイアログで選択されたかのような」動作をさせることは可能でしょうか? できるだけダイアログは開かずに静かにアップロードされてほしいので、ドロップのほうでどうにかできれば良いのですが...... (あるいはダイアログを開かずとものvalueの値を変更できればいいのかもしれませんが、どうやらそれはセキュリティの関係上できないようですね) アップロード用ページのJavascriptソースを読んで「drop」で検索してみたところうまく読み解けなかったものの、もしかしたらNucleus CMSのNP_DragAndDropUploader.phpというプラグインによるものかもしれません。 いずれにせよhtml的には ``` (仮) ``` 的な箇所が用意されているので、ここへファイルに見せかけた何か(ローカルファイルのパス)をjQueryの ``` trigger('drop', ) ``` ないしネイティブJSの ``` dispatchEvent('drop', ) ``` などで渡してやれば行けるのではないかと思うのですが...... まだあまりJavaScriptには慣れていないため、ここから先をどうすればいいかがわかりません。dropだけでなくdrag~系の処理も必要なのかも、とも思います。 この考え方で合っているでしょうか? それともやはりドラッグ&ドロップに関しても、セキュリティの関係でユーザーの操作がないかぎり無理なのでしょうか? (livedoor blogということでFile Manager APIを通せばよいのかもしれませんが、curlなど難しそうでしたのでまずJavaScriptでどうにかできないかと思い)
回答: ブラウザからユーザー端末を操作することになるので無理ではないかなと。 GPSとかも発信端末からの操作ありきですしね。