[英]primeNG fileupload to byte[]
我如何使用primeNg fileupload從文件上傳中獲取字節[],我需要將其保存在模型中以保留在數據庫java后端中:在后端中,我有這個
Class User{ List<UserDocument> } class UserDocument{ @Column(name = "name", length = 100, nullable = false) private String name; @Column(name = "description", length = 255) private String description; @Column(name = "type", length = 100, nullable = false) private String type; @Lob @Basic(fetch = FetchType.LAZY) @Column(name = "content", nullable = false) private byte[] content; @ManyToOne(optional = false) @JoinColumn(name = "USER_ID") private User user; }
所以在角度6中我也有用戶和用戶文檔模型,我不需要在用戶之前發布上傳文件,因為此時用戶不存在...
我需要同時使用其usedocument創建用戶。
所以在角度上,我有一個帶有用戶名filds等的表格,以及primeng fileupload,我要做的就是當您在文件上載時,我得到了事件並從event.files創建了一個新的userDocument模型
onUpload(event) {
let fileReader = new FileReader();
for (let file of event.files) {
const userDocument: UserDocument = new UserDocument();
userDocument.name = file.name;
userDocument.description = file.description;
userDocument.type = file.type;
userDocument.content = file; /// i need to set here the file byte[]
}
}
在有角度的userDocument.content中是any []
我正在嘗試,如何從文件中獲取byte []?
謝謝
要獲取BASE64字符串,您應該執行以下操作:
onUpload(event) {
let fileReader = new FileReader();
for (let file of event.files) {
fileReader.readAsDataURL(file);
fileReader.onload = function () {
// Will print the base64 here.
console.log(reader.result);
};
}
}
或者,如果您希望將數據作為多部分而不是JSON發送,則可以執行以下操作:
onUpload(event) {
var fd = new FormData();
for (let file of event.files) {
fd.append('file', file);
}
// POST the data to the backend
this.http.post(url, fd);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.