大家好,我想在WFFM(sitecore)中创建一个“告诉朋友喜欢的表格”,但我还添加了一个在表格中附加文件的功能,这工作正常。现在我想禁止用户附加超过 1 MB 的大文件,因为我创建了一个新类
public class LimiteFileSize
{
public void Process(FormUploadFileArgs args)
{
int size = 1049000;
if (args.File.Data.Length > size)
{
Sitecore.Diagnostics.Log.Error(string.Format("User {0} tried to upload a file larger than 10 Mb. The file name is {1}",
Sitecore.Context.User.Name,
args.File.FileName), this);
args.AbortPipeline();
}
}
}
并在 forms.config 中注册
<formUploadFile>
<processor type="Sitecore.Form.Core.Pipelines.FormUploadFile.ResolveFolder, Sitecore.Forms.Core"/>
<processor type="Sitecore.Form.Core.Pipelines.FormUploadFile.Save, Sitecore.Forms.Core"/>
<processor type="scwffm2.Helper.LimiteFileSize, scwffm2.Helper"/>
</formUploadFile>
现在,如果我不评论或删除(这是 WFFM 中的默认保存操作)`
<processor type="Sitecore.Form.Core.Pipelines.FormUploadFile.Save, Sitecore.Forms.Core"/>
` 大文件将使用默认操作上传,如果上面的行被注释,那么它不会在数据库中保存任何文件,即使是大文件或小文件。问题是LimiteFileSize中的进程 工作正常,但它只检查文件大小,如果文件大小小于 1MB,它不会保存文件。我应该对小于 1 MB 的文件大小采用 else 条件吗???