こんにちは.
志葉と申します.
ある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>
}
}
=================================================
以上です.
よろしくお願いいたします.