Lokale und Server-Upload-Dateien und Bilder von Jeesite4 im Detail

Allen ein frohes chinesisches Neujahr. Ihr alter Freund Xiao Q ist zurück. In letzter Zeit war er mit der Entwicklung von Unternehmensprojekten beschäftigt und das chinesische Neujahr ist beschäftigt, sodass er keine Zeit hatte, den Inhalt zu aktualisieren. Sind Sie ein wenig besorgt? Das Unternehmen verwendet seit kurzem Jeesite4, um Projekte zu entwickeln. Ich bin mit diesem Framework überhaupt nicht vertraut und prüfe und verwende es immer, wenn ich auf Probleme stoße. Nein, es blieb direkt beim Hochladen von Dateien und beim Hochladen von Bildern hängen. Baidu googelte lange, konnte aber keine Lösung finden. Nach Rücksprache mit dem Entwickler Mr. ThinkGem fand ich schließlich eine Lösung. Um also in Zukunft Umwege für Kameraden zu vermeiden, die jeesite4 nutzen, fasse ich meinen Weg zu den Bergbaugruben kurz für Sie zusammen und hoffe, Ihnen helfen zu können.

Lassen Sie mich zunächst die von jeesite4 bereitgestellten Komponenteneigenschaften für lokale Upload-Dateien und Bilder vorstellen:

Datei-Upload Datei-Upload:
1、文件上传:
<#form:fileupload id="upload1" bizKey="${user.id}" bizType="user_upload1"
	uploadType="all" class="required" readonly="false"/>
后台代码:FileUploadUtils.saveFileUpload(user.getId(), "user_upload1");

2、图片上传:
<#form:fileupload id="upload2" bizKey="${user.id}" bizType="user_upload2"
	uploadType="image" class="required" readonly="false"/>
后台代码:FileUploadUtils.saveFileUpload(user.getId(), "user_upload2");

3、返回路径:
<#form:fileupload id="upload3" returnPath="true"
	filePathInputId="upload3Path" fileNameInputId="upload3Name"
	uploadType="image" readonly="false" maxUploadNum="3" isMini="false"/>
<#form:input name="upload3Path" class="form-control"/>
<#form:input name="upload3Name" class="form-control"/>
Komponenteneigenschaften:
var p = {
    
    
	// 标签参数
	id: id!,					// 元素ID
	bizKey: bizKey!,			// 业务表的主键值(与附件关联的业务数据)
	bizType: bizType!,			// 业务表的上传类型(全网唯一,推荐格式:实体名_上传类型,例如,文章图片:article_photo)
	returnPath: @ObjectUtils.toBoolean(returnPath!false), 	// 是否是返回文件路径到输入框(默认false),可将路径直接保存到某个字段里
	filePathInputId: filePathInputId!,	// 设置文件URL存放的输入框的ID,当returnPath为true的时候,返回文件URL到这个输入框
	fileNameInputId: fileNameInputId!,	// 设置文件名称存放的输入框的ID,当returnPath为true的时候,返回文件名称到这个输入框
	uploadType: uploadType!'',			// 上传文件类型:all、file、image、media,若不设置,则自动根据上传文件后缀获取
	class: class!'',					// 标签框的CSS类名,设置 required 加入必填验证
	readonly: @ObjectUtils.toBoolean(readonly!false),		// 是否只读模式,只读模式下为查看模式,只允许下载
	
	allowSuffixes: allowSuffixes!'', 	// 允许上传的后缀,前台的限制,不能超越file.*AllowSuffixes的设置,例如:.jpg,.png,
	maxUploadNum: @ObjectUtils.toInteger(maxUploadNum!300),		// 多文件下允许最多上传几个,默认300个,设置-1代表不限制
	
	imageMaxWidth: @ObjectUtils.toInteger(imageMaxWidth!1024),	// 图片压缩,最大宽度(uploadType为image生效),设置-1代表不做任何处理
	imageMaxHeight: @ObjectUtils.toInteger(imageMaxHeight!768),	// 图片压缩,最大宽度(uploadType为image生效),设置-1代表不做任何处理
	
	isLazy: @ObjectUtils.toBoolean(isLazy!false),				// 设置为ture需要点击上传按钮才上传文件,否则选择后就直接上传
	
	isMini: @ObjectUtils.toBoolean(isMini!false),				// 是否是精简上传窗口,无边距,无边框
	
	preview: preview!'',										// 是否显示预览按钮,接受参数:weboffice
	
};

Was die oben genannten Eigenschaften betrifft, möchte ich zunächst einige spezielle Eigenschaften vorstellen, die ich verwendet habe. Wenn Sie den Pfad der hochgeladenen Datei erhalten möchten, müssen Sie den Wert von filePathInputId festlegen, dh die ID des Eingabefelds, in dem sich die Datei-URL befindet wird als Upload (benutzerdefiniert) gespeichert und dann festgelegt. Das returnPath-Attribut wird auf true gesetzt, sodass die Datei-URL mit der ID-Upload an das Eingabefeld zurückgegeben wird. Das Gleiche gilt für fileNameInputId.

Anschließend stelle ich Ihnen die Schritte und Methoden zum Hochladen von Dateien auf den Server in jeesite4 vor:

1. Um eine Toolklasse zu erstellen, die die FileUploadServiceExtendSupport-Klasse erbt, fügen Sie die Annotation @Service hinzu und schreiben Sie die darin enthaltenen Methoden uploadFile(FileEntity fileEntity) und getFileUrl(FileUpload fileUpload) neu.

2. Die FileEntity-Klasse in der Methode uploadFile(FileEntity fileEntity) ist eine Vergleichsklasse zum Hochladen von Dateien oder Bildern

String path = fileEntity.getFileRealPath();
File file=new File(path);

Rufen Sie das Dateiobjekt der hochgeladenen Datei ab und vervollständigen Sie dann die Logik Ihres eigenen Upload-Servers.

3. Die Methode getFileUrl(FileUpload fileUpload) dient zum Abrufen des Serverpfads, der nach dem erfolgreichen Hochladen der Upload-Datei zurückgegeben wird. Schreiben Sie in dieser Methode die Logik, mit der Sie den Serverpfad abrufen können.

4. Achten Sie besonders auf die Attribute bizKey und bizType. Wenn diese beiden Attribute nicht entfernt werden, werden die Daten in der Dateitabelle gelesen, und wenn sie entfernt werden, werden die von Ihnen angegebenen versteckten Felddaten gelesen. Ich habe das vorher nicht ganz verstanden, was zu Problemen mit dem Bilddatenecho geführt hat.

Nun, das ist alles für heute. Wenn Sie mehr Lernwissen erfahren möchten, folgen Sie bitte dem offiziellen WeChat-Konto „Ah Q Shuo“, um weitere Lernmaterialien zu erhalten! Sie können im Hintergrund auch eine Nachricht hinterlassen, um Ihre Zweifel auszudrücken. Ah Q wird Ihnen in einem späteren Artikel antworten. Lerne jeden Tag ein bisschen und verbessere dich jeden Tag ein bisschen.

Acho que você gosta

Origin blog.csdn.net/Qingai521/article/details/87072891
Recomendado
Clasificación