读书人

FCKeditor限制上传的Upload修改请高

发布时间: 2012-02-14 19:19:19 作者: rapoo

FCKeditor限制上传的Upload修改,请高手给点帮助
网站用了FCKeditor安全修正版,限制了文件类型,但是才发现不能限制插入图片的尺寸和大小,总被人发超大的图片撑开版式或者大容量的图片浪费空间。看了看,大概是要在Uploader.cs文件中加限制,我现在才刚开始学C#,一时半会实在改不了,希望有好心的朋友帮帮我,应个急,谢谢了。

希望能加上对图片尺寸限制在宽度500以下,图片大小在150K以内。


现在的Uploader.cs代码如下------------------------------------


using System;
using System.Globalization;
using System.Xml;
using System.Web;

namespace FredCK.FCKeditorV2
{
public class Uploader : FileWorkerBase
{
protected override void OnLoad(EventArgs e)
{
// Get the posted file.
HttpPostedFile oFile = Request.Files[ "NewFile "];

// Check if the file has been correctly uploaded
if (oFile == null || oFile.ContentLength == 0)
{
SendResults(202);
return;
}

int iErrorNumber = 0;
string sFileUrl = " ";

// Get the uploaded file name.
string sFileName = System.IO.Path.GetFileName(oFile.FileName);

int iCounter = 0;

while (true)
{
//判断文件是否可以上传
if (CheckUploadFileExtension(sFileName))
{
string sFilePath = System.IO.Path.Combine(this.UserFilesDirectory, sFileName);

if (System.IO.File.Exists(sFilePath))


{
iCounter++;
sFileName =
System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) +
"( " + iCounter + ") " +
System.IO.Path.GetExtension(oFile.FileName);

iErrorNumber = 201;
}
else
{
oFile.SaveAs(sFilePath);
sFileUrl = this.UserFilesPath + sFileName;
break;
}
}
else
{
//不允许上传
SendResults(202);
break;
}


}

SendResults(iErrorNumber, sFileUrl, sFileName);
}

#region SendResults Method

private void SendResults(int errorNumber)
{
SendResults(errorNumber, " ", " ", " ");
}

private void SendResults(int errorNumber, string fileUrl, string fileName)
{
SendResults(errorNumber, fileUrl, fileName, " ");
}

private void SendResults(int errorNumber, string fileUrl, string fileName, string customMsg)
{
Response.Clear();

Response.Write( " <script type=\ "text/javascript\ "> ");
Response.Write( "window.parent.OnUploadCompleted( " + errorNumber + ", ' " + fileUrl.Replace( " ' ", "\\ ' ") + " ', ' " + fileName.Replace( " ' ", "\\ ' ") + " ', ' " + customMsg.Replace( " ' ", "\\ ' ") + " ') ; ");
Response.Write( " </script> ");

Response.End();
}

#endregion
}
}


[解决办法]
限制大小在if ( oFile == null || oFile.ContentLength == 0 )
{
SendResults( 202 ) ;
return ;
}
后面加入判断if ( oFile.ContentLength > ( 200 * 1024 ) )
{
SendResults( 204 );
return ;
}
[解决办法]
你要求是150K if ( oFile.ContentLength > ( 150 * 1024 ) )
{
SendResults( 202 );
return ;
}

[解决办法]
你把图片的宽定义在css里就撑不大了
[解决办法]


文件大小 mx9958(箫) 不是说了吗

读书人网 >asp.net

热点推荐