誰もが同じ問題を持っている場合は、ここでどのように作業を取得するには、次のとおりです。
Upload.xhtml(画像のアップロードのためのフォームを含む):
<rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"
stopButtonClass="file-upload-stop-button"
addButtonClass="file-upload-button" listHeight="0" listWidth="0"
id="upload" acceptedTypes="jpg, gif, png, bmp" allowFlush="true" maxFileQuantity="10">
<a4j:ajax event="uploadcomplete" execute="@none"
render="info, imgs" />
</rich:fileUpload>
FileUploadBean.java(EJBクラスにデータを配信):
@Named()
@RequestScoped
public class FileUploadBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private CMSDao cms;
private Integer pid;
private String name;
private String aname;
private byte[] data;
public FileUploadBean() {}
private ArrayList<UploadedImage> files = new ArrayList<UploadedImage>();
private List<UploadedImage> filess;
public void listener(FileUploadEvent event) throws Exception {
UploadedFile item = event.getUploadedFile();
UploadedImage file = new UploadedImage();
file.setName(item.getName());
file.setData(item.getData());
files.add(file);
cms.insertImg(file);
}
//getters and setters
EJBクラス:
public void insertImg(UploadedImage img) {
em.persist(img);
em.flush();
}
UploadedImage.java(エンティティBean):
@Entity
@Table(name="photo")
public class UploadedImage implements Serializable {
private static final long serialVersionUID = -8192553629588066292L;
@Id
@GeneratedValue
@Column(name="pid")
private Integer pid;
@Column(name="name")
private String name;
@Column(name="aid")
private String aname;
@Lob
@Column(name="data")
@Basic(fetch = FetchType.LAZY)
private byte[] data;
// getters and setters
あなたはあなたに次のコードを追加する必要が
どうしたの?エラーはありますか? –
今はデータベースのバイトを挿入することができましたが、a4j:mediaOutputを使用してイメージを取得しようとすると、次の例外が発生します。 例外のハンドラが見つかりません:com.google.common.collect.ComputationException: java.lang.RuntimeError:java.lang.NullPointerException –