2

Play フレームワーク 2.0 と Intellij を使用しています。ユーザーがドキュメントをアップロードできるようにしようとしており、それを BLOB オブジェクトとして Oracle データベースに保存しています。play のメソッドを使用して、ユーザーからファイルを取得しています。次に、コントローラーで、ファイルをデータベースに保存するモデル クラスに送信します。問題は、データベースに保存するときに「添付ファイル」フィールドが常に null であり、その理由がわかりません。ファイル オブジェクトをバイト文字列に読み込んで、それを BLOB オブジェクトに変換しようとしましたが (添付ファイル フィールドも BLOB 型に変換しました)、その BLOB オブジェクトも null でした。これどうやってするの?

//コントローラーコード

public  static Result ValidateQuestion() {
    Form<Questions> filledForm = questionForm.bindFromRequest();

    if (filledForm.hasErrors()) {
        return badRequest(createQuestion.render(questionForm,fillCourseList(),fillSemesterList()));
    }
    else {
        Http.MultipartFormData body = request().body().asMultipartFormData();
        Http.MultipartFormData.FilePart attachment = body.getFile("attachment");
        if(attachment!=null) {
            Attachmenttable.create(1, "other", attachment.getFile());
        }
        return redirect(routes.TeacherController.TeacherDashboard());
    }

}

//モデルクラスコード

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "s_attachmenttable")
public int attachment_id;

@Constraints.Required
public int question_id;

@Constraints.Required
public String name;

@Transient
public File attachment;

public Attachmenttable(int spurning_id, String name, File attachment) {
    this.spurning_id = spurning_id;
    this.nafn = nafn;
    this.vidhengi = vidhengi;
}

public static Attachmenttable create(int question_id, String name, File attachment) {

  Attachmenttable attachmenttable = new Attachmenttable(question_id, name, attachment);
    attachmenttable.save();
    return attachmenttable;
}
4

0 に答える 0