using VberZero.Tools.StringModel; namespace VberAdmin.Web.Models.Input; public class VmInputFile : VmInputBase { public VmInputFile(string name, string displayName) : base(name, displayName, VmInputType.File) { FileInfoField = $"info_{name}"; FileNameField = $"name_{name}"; FileExtField = $"ext_{name}"; IsImage = false; MaxSize = 5; } public string FileInfoField { get; set; } public string FileNameField { get; set; } public string FileExtField { get; set; } public bool IsImage { get; set; } public string ControlDataStr => $" data-vb-file-target-info=\"{FileInfoField}\"" + $" data-vb-file-target-name=\"{FileNameField}\"" + $" data-vb-file-target-ext=\"{FileExtField}\"" + $" data-vb-file-image=\"{(IsImage ? "1" : "0")}\"" + $" data-vb-file-max-size=\"{MaxSize}\" "; /// /// 文件选择框设置信息 /// /// public VmInputFile WithFile(bool isImage = false) { IsImage = isImage; FileInfoField = "fileInfo"; FileNameField = "fileName"; FileExtField = "fileExt"; return this; } /// /// 文件选择框设置信息 /// /// public VmInputFile WithFile(string fileInfoField, string fileNameField = null, string fileExtField = null, int maxSize = 5) { IsImage = false; FileInfoField = fileInfoField.Empty() ? Name : fileInfoField; FileNameField = fileNameField ?? $"name_{FileInfoField}"; FileExtField = fileExtField ?? $"ext_{FileInfoField}"; return this; } public VmInputFile WithImage(string fileInfoField, string fileNameField = null, string fileExtField = null, int maxSize = 5) { IsImage = true; FileInfoField = fileInfoField.Empty() ? Name : fileInfoField; FileNameField = fileNameField ?? $"name_{FileInfoField}"; FileExtField = fileExtField ?? $"ext_{FileInfoField}"; return this; } public VmInputFile WithMaxSize(int size) { MaxSize = size; return this; } /// /// 文件最大M(默认5M) /// public int MaxSize { get; set; } }