我用的是FILEUPLOAD 控件。想实现的是。点了确定后。根据上传的路径。把 文件读出来写到一个字符串。然后放到数据库的以个字段里。谁帮忙提供个代码谢谢啊
解决方案 »
- 如果不用vss还有什么较好的方法,在局域网内同时编译.net程序
- 自定义验证控件问题?
- System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- 问个弱问题ajax pro出自那?
- 关于Forms验证的一个难题,我已经搞了两天了,高手帮帮忙(关键词:Forms验证,虚拟主机)
- 菜鸟问题
- 关于表单验证的问题
- 怎么定义和使用一个object类型啊?哪有例子发下给我看看也行.谢谢了
- 如何在代码中将Listbox,CheckBoxList,RadioButtonList中的选项设定为选取
- 为什么通过服务器资源管理器无法创建数据库关系图,在添加表的时候说库没有注册!请问是什么原因!?如何解决!通过企业管理器可以创建!
- 配置asp.net运行环境
- 关于Ajax的简单问题...
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控件
漏了一点点不好意思!
<%@ 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.close() '下面可以重定向回首页
Response.Redirect("index.aspx")
End If
End Sub
</script>
<html>
<body>
<h4 align="center">上传文件到数据库</h4>
<form enctype="multipart/form-data" runat="server">
选择文件:<input id="uploadfile" type="file" runat="server">
<br>文件说明:<asp:textbox id="intro" runat="server"/>
<br><asp:Button id="enter" Text="提交" OnClick="Enter_Click" runat="server"/>
</form>
</body>
</html>
然后
if (uploadpic.Value.Length != 0)
{
Stream Stream_ZP = uploadpic.InputStream;
Byte[] Input_ZP= new Byte[uploadpic.Value.Length];
Stream_ZP.Read(Input_ZP, 0, uploadpic.Value.Length);
}
将Input_ZP存入该字段