• 締切済み

warファイルでのcommonsのファイルアップロード

レンタルサーバを使って勉強を兼ねてボランティアサイトを作っています。  このレンタルサーバーでのTomcatの開発はwarファイルのみアップロードできる仕組みになっています。  commonsを使ってファイルアップロードページを作成しましたが、setRepositoryPath()でパスを指定の際、getServletContext().getRealPath("フォルダ名")がNullで返ってきてしまい、絶対パスの取得ができません。  Rootも見られない状態なので、想像ですが相対パスでも試してみましたが駄目でした。  これらが仕様だということは分かったのですが、何を使ってパスを指定すればいいのか分かりません。 どなたかご存知の方がいらっしゃいましたら教えていただきたいです。  

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

getServletContext().getAttribute("javax.servlet.context.tempdir") とか System.getProperty("java.io.tmpdir") でどうでしょう。

関連するQ&A

  • レンタル共用サーバーでのファイルのアップロードについて

    レンタル共用サーバーでのファイルのアップロードについて、 教えてください。 PHPが、セーフモードで動いているレンタルサーバーで、 ファイルのアップロードを行いたいのですが、 具体的には、どうやればよいのでしょうか。 ローカル環境でファイルアップロードを行っている書籍を、 参考にしているのですが、 ローカル環境から、レンタルサーバー環境への読み替えを どのように行えばよいのかが分かりません。 恐らく、ファイルの移動先($file_dir)を書き換えるのではないか、 と検討をつけたのですが、 ファイルのアップロード自体をやったことがないため、 どう書き換えればよいか分かりません。(絶対パス? 相対パス?) <参考にした書籍のコード抜粋> $file_dir = 'C:\Program Files\Apache Group\Apache2\htdocs\image\\'; $file_path = $file_dir . $_FILES["uploadfile"]["name"]; if (move_uploaded_file($_FILES["uploadfile"]["tmp_name"], $file_path)) { <参考にしたサイト> http://z49.org/2009/04/03/199/

    • ベストアンサー
    • PHP
  • tomcat .warファイル展開コマンド

    tomcatで.warファイルを展開するコマンドはあるのでしょうか? アプリケーションの配備時に、サーバーへ.warファイルをアップすると たまに.warファイルが展開されない、又はリロードされないことがあります。 .warファイルの展開さえできればtomcatマネージャーで再ロードが行えるので確実にアプリの再配備が可能になると思うのですが 対策があればご教授をお願い致します。 tomcatのバージョンは5.0.28を仕様しております。 またtomcatの再起動はできないという前提でお願い致します。

  • 決められたファイルのみアップロードする方法

    閲覧いただき、ありがとうございます。 現在学習として、JSP + Java (+Seaser2) + Tomcatの組み合わせでプログラムを作成、修正を行っております。 作りたいとものして、あらかじめ決められたファイルのみをアップロードするという物になります。(例として、C:\Users\ユーザ名\Desktop\アップロード.xlsxだけをアップロードする。) その際、FormFile(.org.apache.struts.upload)にアップロードを行うファイルの情報を直接設定しようと考えましたが、FormFileにアップロードするファイルの情報(ファイル名やファイルのパス、ファイルの種類等)を直接設定することが出来ずにに困っております。 そのため、以下のことについて質問させてください。 ・アップロードするファイルの情報をFormFileに直接指定して格納する方法はあるのでしょうか? また、formFile.setFileNameにファイルのフルパスを指定し、直接設定を行いましたが、NullPointerExceptionのエラーが出てしまいます。 以下、ソースとなります。 public String upload() throws Exception { try { FileInfoDto dto = Beans.createAndCopy(FileInfoDto.class,this.fileUploadForm).execute(); dto.fileId = ""; // ここの部分で、formFileの設定を行いたい// dto.openLevel = "1"; dto.updDatetm = ""; this.fileInfoService.insertRecord(dto); // } catch (ServiceException e) { super.errorLog(e); throw e; } catch (Exception e) { super.errorLog(e); throw e; } return null; } } 当方、JavaやJSPなどに関して、スキル不足なのは承知の上なのですが、 参考になるサイトのURLだけでも教えていただければと思います。 なお、環境は以下の通りです。 ・Windows 7 Pro ・JDK1.7 ・tomcat7 どうか、宜しくお願い致します。

  • Perlでファイルをアップロードしたい

    えーPerlを使用してローカルからサーバーへFTPを使わず、かつパスを指定してファイル(CSV)をアップロードさせたいのですが、フォームの<input type="file"...>ではファイルを参照ボタンで指定せなだめなため使いたくないのです。一瞬フォームから<input type="hidden">を使用してファイルの中身をデータにして送りサーバでファイルを作ろうかとも考えたのですがサーバ側に負担がかかりそうで・・・教えてください。お願いします。

  • Perlでファイルをアップロードさせたい

    えーPerlを使用してローカルからサーバーへFTPを使わず、かつパスを指定してファイル(CSV)をアップロードさせたいのですが、フォームの<input type="file"...>ではファイルを参照ボタンで指定せなだめなため使いたくないのです。一瞬フォームから<input type="hidden">を使用してファイルの中身をデータにして送りサーバでファイルを作ろうかとも考えたのですがサーバ側に負担がかかりそうで・・・教えてください。お願いします。

    • 締切済み
    • CGI
  • IE8で大きいファイルのアップロード

    サーバー:Tomcat6 クライアント:IE8、IE9 IE8で社内のサーバーに大きいファイル(2GB以上)をアップロードすると 一瞬でInternet Explorer ではこのページは表示できません となります。 またTomcatのログは一切出力されません。 IE9だと2GB以上でもアップロード可能です。(IE8で落ちるサイズでもアップロード可能) 恐らく通信前にIE側で落ちてると思うのですがIE8の設定でしょうか。 IE8での検証は複数のクライアントでしましたが同様でした。 また同様のアプリケーションをサーバーに設置し検証しましたが、同様でした。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ファイルアップロード

    私は、今、Javaで作成しているシステム上に画像アップロード機能を作成しています。 これは、アップロードする画像と同時に、テキストデータを送信したかったので、JavaCommonsのFileUploadを使用せずに、 http://homepage3.nifty.com/uzblend/servlet/#x71 こちらを参考に画像ファイルアップロードを作成しました。 ここで一つ困ったことが起きました。 ファイルをアップロードをして、ページを参照しても、すぐには画像が更新されず、サーバを再起動しないと更新されないです。 なんとか解決する方法はないでしょうか。 開発環境 WindowsXP J2SE 5.0 Tomcat5.0

    • ベストアンサー
    • Java
  • FTPを使わないファイルアップロード

    「とほほのWWW入門」にある、wwwupl2 を使ってブラウザからWWWサーバへ ファイルをアップロードしています。 http://tohoho.wakusei.ne.jp/how2/tec1.htm#upload VB からこの CGI へ命令(?)を渡し、ユーザには VB の画面だけを表示させておいて、 裏で CGI によるファイルのアップロードをさせることはできるのでしょうか? つまり、ファイルを指定して送信ボタンを押すという動作を自動化+非表示にさせたいのです。 FTP を使えば解決するのですが、FTPアカウントは 1つしか無い為、 VB 中にアカウント情報を記述するのが怖いのです。 開発環境はVB6、サーバはレンタルサーバです。 よろしくお願い致します。

  • ファイルアップロードにて

    JSPで入力したFORMデータと画像ファイルのアップロードをひとつのサブミットボタンで同時に リクエストでサーブレットへ送るような会員登録ページのプログラムを作っているのですが、 サーブレット側で受け取ったデータが文字化けしてしまいます(下のソース中のparaValueの部分)。また受け取るファイルを画像ファイル(gifかjpeg)を かどうか判別してオッケーなら指定の場所へ登録し違うものなら削除するような機能も考えています。 (サブミットを実行する前にjavascriptなどで判別が出来ればいいのですが)誰か知恵を貸してください。 下がソースです。 <!-- jsp ----------------------------------------------> <%@ page contentType="text/html;charset=Shift_JIS" %> <html> <head> <title>会員登録</title> </head> <body> <form method="POST" enctype="multipart/form-data" action="UploadServlet"> <table border="1"> <tr> <td align="left"> ユーザーの画像: <input type="file" name="fl" size="40" /> </td> </tr> <tr> <td align="left"> ユーザーの名前: <input type="text" name="username" size="40"> </td> </tr> <tr> <td align="center"> <input type="submit" value="アップロード" /> </td> </tr> </table> </form> </body> </html> <!-- servlet -------------------------------------------> public class UploadServlet extends HttpServlet { public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { request.setCaracterEncoding("Shift_JIS"); //(1)アップロードファイルを格納するPATHを取得 String path = getServletContext().getRealPath("files"); //(2)ServletFileUploadオブジェクトを生成 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); //(3)アップロードする際の基準値を設定 factory.setSizeThreshold(1024); upload.setSizeMax(-1); upload.setHeaderEncoding("Shift_JIS"); try { //(4)ファイルデータ(FileItemオブジェクト)を取得し、 // Listオブジェクトとして返す List list = upload.parseRequest(req); //(5)ファイルデータ(FileItemオブジェクト)を順に処理 Iterator iterator = list.iterator(); while(iterator.hasNext()){ FileItem fItem = (FileItem)iterator.next(); //(6)ファイルデータの場合、if内を実行 if(!(fItem.isFormField())){ //(7)ファイルデータのファイル名(PATH名含む)を取得 String fileName = fItem.getName(); if((fileName != null) && (!fileName.equals(""))){ //(8)PATH名を除くファイル名のみを取得 fileName=(new File(fileName)).getName(); //(9)ファイルデータを指定されたファイルに書き出し fItem.write(new File(path + "/" + fileName)); } }else { String paraName=item.getFieldName(); String paraValue=item.getString(); System.out.println(paraName); System.out.println(paraValue); } } }catch (FileUploadException e) { e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } } }

    • ベストアンサー
    • Java
  • ファイルのアップロード方法(Perl)

    <INPUT TYPE="file">で指定されたファイルをサーバーにアップロードする方法をさがしています。 CGIの記述言語はPerl、転送を行うファイルは画像ファイルです。 送られてきたデータを確認したところユーザー側のファイルへのフルパスなのは確認できましたが、そこからアップロードする方法が分かりません。 パールライブラリ(.plか.pm)でファイル転送を行う良いライブラリがあれば教えてください。 また、転送の方法を教えてください。

    • ベストアンサー
    • Perl

専門家に質問してみよう