📄 fileupload.aspx.cs
字号:
namespace PowerEasy.WebSite.User.Accessories
{
using PowerEasy.Accessories;
using PowerEasy.Common;
using PowerEasy.CommonModel;
using PowerEasy.Components;
using PowerEasy.Contents;
using PowerEasy.Controls;
using PowerEasy.Enumerations;
using PowerEasy.Model.Accessories;
using PowerEasy.Model.CommonModel;
using PowerEasy.Model.Contents;
using PowerEasy.Web.UI;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Text;
using System.Web;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
public class FileUpload : BasePage
{
protected Button BtnUpload;
protected HtmlForm form1;
protected System.Web.UI.WebControls.FileUpload FupFile;
protected Label LblMessage;
private string m_FieldName;
private string m_FileExtArr;
private int m_ModelId;
private ModelInfo m_ModelInfo;
private string m_ModuleName;
private int m_NodeId;
private NodeInfo m_NodeInfo;
private string m_ShowPath;
protected PowerEasy.Controls.RequiredFieldValidator ValFile;
protected void BtnUpload_Click(object sender, EventArgs e)
{
if (!this.FupFile.HasFile)
{
this.ReturnManage("上传失败,重新上传。");
}
else
{
string input = "";
bool flag = false;
bool flag2 = false;
if ((string.Compare(this.m_ModuleName, "Node", true) == 0) && !SiteConfig.SiteOption.EnableUploadFiles)
{
this.ReturnManage("权限错误:对不起网站没有开启上传权限。");
}
else
{
string str2 = Path.GetExtension(this.FupFile.FileName).ToLower();
if (!this.CheckFilePostfix(str2.Replace(".", "")))
{
this.ReturnManage("上传文件类型不对!必须上传" + this.m_FileExtArr + "的后缀名!");
}
else
{
if (string.Compare(this.m_ModuleName, "Node", true) != 0)
{
input = SiteConfig.SiteOption.UploadFileMaxSize.ToString();
if (((int) this.FupFile.FileContent.Length) > (SiteConfig.SiteOption.UploadFileMaxSize * 0x400))
{
this.ReturnManage("上传文件大小大于" + input);
return;
}
}
else
{
FieldInfo fieldInfoByFieldName = Field.GetFieldInfoByFieldName(this.m_ModelId, this.m_FieldName);
Collection<string> settings = fieldInfoByFieldName.Settings;
switch (fieldInfoByFieldName.FieldType)
{
case FieldType.PictureType:
input = settings[1];
flag2 = DataConverter.CBool(settings[4]);
flag = DataConverter.CBool(settings[5]);
break;
case FieldType.FileType:
input = settings[0];
break;
}
if (((int) this.FupFile.FileContent.Length) > (DataConverter.CLng(input) * 0x400))
{
this.ReturnManage("上传文件大小大于" + input);
return;
}
}
string str3 = DataSecurity.MakeFileRndName();
string filename = FileSystemObject.CreateFileFolder((VirtualPathUtility.AppendTrailingSlash(SiteConfig.SiteOption.UploadDir) + this.FileSavePath()).Replace("//", "/"), HttpContext.Current) + str3 + str2;
this.FupFile.SaveAs(filename);
string thumbnailPath = "";
if (flag2)
{
WaterMark.AddWaterMark(this.m_ShowPath + str3 + str2);
}
if (flag)
{
thumbnailPath = this.m_ShowPath + str3 + "_S" + str2;
Thumbs.GetThumbsPath(this.m_ShowPath + str3 + str2, thumbnailPath);
FileSystemObject.Delete(filename, FsoMethod.File);
}
else
{
thumbnailPath = this.m_ShowPath + str3 + str2;
}
PowerEasy.Model.Accessories.FileInfo fileInfo = new PowerEasy.Model.Accessories.FileInfo();
fileInfo.Name = this.FupFile.FileName;
fileInfo.Path = thumbnailPath;
fileInfo.Size = (int) this.FupFile.FileContent.Length;
fileInfo.Quote = 1;
if (string.Compare(this.m_ModuleName, "soft", true) == 0)
{
Files.Add(fileInfo);
}
this.GetScriptByModuleName(fileInfo);
this.ReturnManage("上传成功!");
}
}
}
}
private bool CheckFilePostfix(string fileExtension)
{
return StringHelper.FoundCharInArr(this.m_FileExtArr.ToLower(), fileExtension.ToLower(), "|");
}
private string FileSavePath()
{
string str = "";
if (this.m_NodeInfo != null)
{
if (SiteConfig.SiteOption.EnableUploadFiles)
{
str = Nodes.UploadPathParse(this.m_NodeInfo, this.FupFile.FileName);
this.m_ShowPath = str;
}
return str;
}
if (string.Compare(this.m_ModuleName, "ADZone", true) == 0)
{
str = "/" + SiteConfig.SiteOption.AdvertisementDir + "/UploadADPic/";
this.m_ShowPath = str;
}
else if (string.Compare(this.m_ModuleName, "Author", true) == 0)
{
str = "/AuthorPic/";
this.m_ShowPath = str;
}
else if (string.Compare(this.m_ModuleName, "Source", true) == 0)
{
str = "/CopyFromPic/";
this.m_ShowPath = str;
}
else if (string.Compare(this.m_ModuleName, "Trademark", true) == 0)
{
str = "/TrademarkPic/";
this.m_ShowPath = str;
}
else if (string.Compare(this.m_ModuleName, "Producer", true) == 0)
{
str = "/ProducerPic/";
this.m_ShowPath = str;
}
else
{
str = "/";
}
str = str + DataSecurity.MakeFolderName() + "/";
this.m_ShowPath = str;
return str;
}
private void GetScriptByModuleName(PowerEasy.Model.Accessories.FileInfo fileInfo)
{
string str = BasePage.RequestString("ReturnJSFunction");
string str2 = BasePage.RequestString("CustomReturnJSFunction");
if (string.IsNullOrEmpty(str))
{
str = "DealwithUpload";
}
StringBuilder builder = new StringBuilder();
builder.Append("<script language=\"javascript\" type=\"text/javascript\">");
builder.Append(" parent." + str + "(\"" + fileInfo.Path + "\",\"" + fileInfo.Size.ToString() + "\",\"" + fileInfo.Id.ToString() + "\");");
if (!string.IsNullOrEmpty(str2))
{
builder.Append(" parent." + str2 + "(\"" + fileInfo.Path + "\",\"" + fileInfo.Size.ToString() + "\",\"" + fileInfo.Id.ToString() + "\");");
}
builder.Append("</script>");
this.Page.ClientScript.RegisterStartupScript(base.GetType(), "UpdateParent", builder.ToString());
}
private void InitFileExtArr()
{
if ((this.m_ModelInfo != null) && !string.IsNullOrEmpty(this.m_FieldName))
{
FieldInfo fieldInfoByFieldName = Field.GetFieldInfoByFieldName(this.m_ModelId, this.m_FieldName);
Collection<string> settings = fieldInfoByFieldName.Settings;
switch (fieldInfoByFieldName.FieldType)
{
case FieldType.PictureType:
this.m_FileExtArr = settings[2];
break;
case FieldType.FileType:
this.m_FileExtArr = settings[1];
break;
case FieldType.MultiplePhotoType:
this.m_FileExtArr = settings[1];
break;
}
}
if (string.Compare(this.m_ModuleName, "ADZone", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp|fla";
}
if (string.Compare(this.m_ModuleName, "Author", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp";
}
if (string.Compare(this.m_ModuleName, "Source", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp";
}
if (string.Compare(this.m_ModuleName, "Trademark", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp";
}
if (string.Compare(this.m_ModuleName, "Producer", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp";
}
if (string.Compare(this.m_ModuleName, "Shop", true) == 0)
{
this.m_FileExtArr = "gif|png|jpeg|jpg|gif|bmp";
}
}
protected void Page_Load(object sender, EventArgs e)
{
this.m_ModuleName = BasePage.RequestString("ModuleName");
if (this.Session["PowerEasy:NodeId"] != null)
{
this.m_NodeId = (int) this.Session["PowerEasy:NodeId"];
}
else
{
this.m_NodeId = DataConverter.CLng(base.Request["NodeId"]);
}
this.m_ModelId = DataConverter.CLng(base.Request["ModelId"]);
this.m_FieldName = BasePage.RequestString("FieldName");
if (this.m_NodeId > 0)
{
this.m_NodeInfo = Nodes.GetCacheNodeById(this.m_NodeId);
}
if (this.m_ModelId > 0)
{
this.m_ModelInfo = ModelManager.GetModelInfoById(this.m_ModelId);
}
this.InitFileExtArr();
}
private void ReturnManage(string manage)
{
if (!string.IsNullOrEmpty(manage))
{
string str = BasePage.RequestString("ReturnJSFunction");
if (string.IsNullOrEmpty(str))
{
str = "DealwithUpload";
}
StringBuilder builder = new StringBuilder();
builder.Append("<script language=\"javascript\" type=\"text/javascript\">");
builder.Append(" parent." + str + "ErrMessage(\"" + manage + "\");");
builder.Append("</script>");
this.Page.ClientScript.RegisterStartupScript(base.GetType(), str + "UpdateParent", builder.ToString());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -