日期:2014-05-18  浏览次数:20394 次

上传文件的问题 请高手指点下
我用的是FILEUPLOAD   控件。想实现的是。点了确定后。根据上传的路径。把   文件读出来写到一个字符串。然后放到数据库的以个字段里。谁帮忙提供个代码谢谢啊

------解决方案--------------------
//圖片上傳
string picName = " ";
if (uploadpic.Value.Length != 0)
{
picName = System.IO.Path.GetFileName(uploadpic.PostedFile.FileName);
}
string picExt = " ";
if (picName.Length > 0)
{
picExt = picName.Substring(picName.Length - 4, 4);
}
string picSavePath = "..\\AtthFiles\\News\\ ";
string picPath = System.Web.HttpContext.Current.Request.MapPath(picSavePath) + "news_picture_ " + maxid + picExt;
string PathDB_pic;

这是我的上传图片的 (文件一样), 理解应该没问题吧! uploadpic是我的fileupload控件
------解决方案--------------------
uploadpic.PostedFile.SaveAs(picPath);
漏了一点点不好意思!
------解决方案--------------------
<%@ Import Namespace= "System.IO " %>
<%@ Import Namespace= "System.Data " %>
<%@ Import Namespace= "System.Data.OleDb " %>
<script language= "VB " runat= "server ">
Sub Enter_Click(sender As Object, e As EventArgs)
'只有客户提交了文件和文件说明才继续执行
If uploadfile.PostedFile.FileName <> " " And Intro.Text <> " " Then
'第一步:获取上传的文件的各种信息,以备后面使用***********************
'下面变量分别表示文件的名称,文件MIME类型,和文件说明和文件大小
Dim filename,fileContentType,fileintro As String
Dim filesize as Long
'Path.GetFileName方法可以从任何一个路径字符串中获取文件名称
filename= Path.GetFileName(uploadfile.PostedFile.FileName)
filesize=uploadfile.PostedFile.ContentLength
fileContentType=uploadfile.PostedFile.ContentType
fileintro=intro.Text

'第二步:利用Stream对象将上传的文件保存到二进制数组中*******************
Dim buffer(filesize) As Byte '建立一个和文件大小一致的二进制数组
Dim objStream As Stream '定义一个Stream对象变量
objStream=uploadfile.PostedFile.InputStream '读取上传文件到Stream对象中
objStream.Read(buffer,0,filesize) '读取整个文件到buffer数租中


'第三步:将二进制数组中的数据保存到数据库中********************************
Dim conn As New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath( "temp.mdb "))
Dim cmd As New OleDbCommand( "Insert Into uploadfile(filename,filesize,filebody,fileintro,fileContentType,submit_date) Values(@filename,@filesize,@filebody,@fileintro,@fileContentType,@Submit_Date) ", conn)
'给参数赋值
cmd.Parameters.Add(New OleDbParameter( "@filename ", OleDbType.Char,50))
cmd.Parameters( "@filename ").Value=filename
cmd.Parameters.Add(New OleDbParameter( "@filesize ", OleDbType.Integer))
cmd.Parameters( "@filesize ").Value=filesize
cmd.Parameters.Add(New OleDbParameter( "@filebody ", OleDbType.Binary))
cmd.Parameters( "@filebody ").Value=Buffer '这里是保存文件内容的二进制数组
cmd.Parameters.Add(New OleDbParameter( "@fileintro ", OleDbType.Char,250))
cmd.Parameters( "@fileintro ").Value=fileintro
cmd.Parameters.Add(New OleDbParameter( "@fileContentType ", OleDbType.Char,50))
cmd.Parameters( "@fileContentType ").Value=fileContentType
cmd.Parameters.Add(New OleDbParameter( "@submit_date ", OleDbType.Date))
cmd.Parameters( "@submit_date ").Value=Now()
'执行操作,插入记录
conn.open()
cmd.ExecuteNonQuery()
conn