服务器只接受.zip文件,如果我把一个.txt文件改为.zip文件可上传了。
如何不用后缀名来判断上传文件类型。听说要用流来控制?希望各位高手指点,麻烦了。
如何不用后缀名来判断上传文件类型。听说要用流来控制?希望各位高手指点,麻烦了。
解决方案 »
- c# udp可不可以跨网段发送广播?
- 如何 屏蔽 webbrowser 中 页面跳转、点击按钮等声音。
- wmi,获取硬盘序列号,IDE硬盘可以,Scsi硬盘就失败,请问如何
- 我想动态加载一个链接呀!
- 请高手支招啊。
- 编写程序,输入一个正整数,将它的个各位数左右反转输出
- C#能发布没装.NET框架的机器上也能用的ActiveX控件吗?
- 01cn 精华(2003--2004,含软件工程,Delphi,java等等,请大家帮忙提前)
- 求大家推荐几本确实好的,入门级的C#电子书籍
- 请教大神:关于SpiderMonkey或者V8
- 我怎么在一个基类按钮类里面设定好背景图片,让所有继承该按钮的类都自动显示出该图片,包括在设计时也要显示出来
- ADO.Net更新数据问题
我是听人说要用流控制.请各位高手告诉我能否用流控制?能的话,如何控制。如果有流控制以外的方法,麻烦您也发出来(不用文件后缀名的方法)。
/// Creat New File in DB
/// </summary>
/// <param name="strNodeId"></param>
/// <param name="file"></param>
/// <param name="description"></param>
/// <param name="userId"></param>
public void creatNewFile(string strNodeId,HtmlInputFile file,string description,string userId)
{
Stream imgdatastream = file.PostedFile.InputStream;
string fileName = System.IO.Path.GetFileName(file.PostedFile.FileName).Trim();
int imgdatalen = file.PostedFile.ContentLength;
string imgtype = file.PostedFile.ContentType;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
DataBase db = new DataBase();
DataSet ds ;
db.Open();
// check DB
string sqlcheck = " SELECT * FROM T_DMS_DOC ";
sqlcheck += " WHERE NodeId = '"+ DataBase.SqlItemTextChange(strNodeId) +"'";
sqlcheck += " AND DocName = '"+ DataBase.SqlItemTextChange(fileName) +"'";
sqlcheck += " AND DelStatus = 0"; // not deleted
db.ExecSQL(sqlcheck,"T_DMS_DOC",out ds); if(ds.Tables.Count!= 0 && ds.Tables[0].Rows.Count !=0)
{
throw new Exception("1011");
}
// Get Document ID
double randomStr = new System.Random().NextDouble()* 1000000000;
string docID = DateTime.Now.ToString("yyyyMMdd") + (Math.Floor(randomStr)).ToString(); // Insert File to DB
string sql = " INSERT INTO T_DMS_DOC (NodeId,DocId,Version,DocName,Content,Description,UpdDate,UpdUid,CheckOut,DelStatus) ";
sql += " VALUES( '"+ DataBase.SqlItemTextChange(strNodeId) +"','"+docID+"',1,'"+DataBase.SqlItemTextChange(fileName) +"',@imgdata,'"+DataBase.SqlItemTextChange(description)+"',GETDATE(),'"+DataBase.SqlItemTextChange(userId)+"',"+"'0','0')" ; SqlCommand command = new SqlCommand(sql,db.Connection ); SqlParameter paramData = new SqlParameter( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData ); try
{
// db.BeginTrans();
// Write Log
LogManager.WriteLog("Execute "+command.CommandText); int numRowsAffected = command.ExecuteNonQuery(); if(numRowsAffected !=1)
{
throw new Exception("1012");
} LogManager.WriteLog("Success"); //db.CommitTrans();
}
catch(Exception ex)
{
LogManager.WriteLog("Failure "+ ex.Message);
db.RollBack();
throw ex;
}
finally
{
db.Close();
}
}
to silverseven7() :
不好意思,我看不大懂没有注释的代码,能给我一份完整的吗?包括注释,实现步骤,需要的控件,要改写的代码等。如果可以的话,麻烦请发到我的邮箱中,谢谢了.