フォームからファイルをアップロードしたい

227 views
Skip to first unread message

shen roku

unread,
Nov 3, 2014, 2:40:20 PM11/3/14
to pla...@googlegroups.com
こんにちは.
志葉と申します.

あるWebページを参考に,フォームからファイルをアップロードするプログラムを作っているのですが,
[NullPointerException: null]」のエラーが出てしまい,コンパイルが通りません.

このエラーの意味自体はわかるのですが,どうしたら通せるかがわかりません.
actionとviewのソースを載せますので見ていただけないでしょうか.
ちなみに,参考にしたWebページは以下のものです.


//Application.java

package controllers;

import play.*;
import play.mvc.*;

import play.data.*;
import static play.data.Form.*;

import views.html.*;

import java.util.*;
import models.*;

import play.data.validation.*;
import play.data.validation.Constraints.*;

import play.api.libs.json.Json;



import java.io.File;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileNotFoundException;

import java.io.*;

import play.mvc.Http;

import play.api.libs.json.Json;

import play.mvc.Http.MultipartFormData;
import play.mvc.Http.MultipartFormData.FilePart;

public class Application extends Controller {
...
public static Result upload() {
    MultipartFormData body = request().body().asMultipartFormData();
    FilePart picture = body.getFile("picture");
    if (picture != null) {
      String fileName = picture.getFilename();
      String contentType = picture.getContentType();
      File file = picture.getFile();
      if ( contentType.equals("image/jpeg") ) {
        String fullPath = Play.application().path().getPath() + "/public/images/upload/";
        file.renameTo(new File(fullPath, fileName));
      }
      return ok("File uploaded");
    } else {
      flash("error", "Missing file");
      return redirect(routes.Application.index());
    }
  }
}
==========================================
//upload.scala.html
@import helper._
@main("IMACA - Image Capture") {
    <h1>upload Here</h1>

@helper.form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
    
    <input type="file" name="picture">
    
    <p>
        <input type="submit">
    </p>
    }
}

=================================================

以上です.
よろしくお願いいたします.
Reply all
Reply to author
Forward
0 new messages