1)拥有上传与下载的功能 这个在net里面还是比较容易实现的,自己看一下帮助里面的上传的例子即可.主要是下载,你最好用流方式给用户下载,这样可控制权限,避免用直接下载的方式下载. 2)不同的登录用户对应自己的文件夹 这个就有一点小技巧,你可以在上传时,根据用户的ID号来产生文件夹.先判断有否此文件夹,无则创建,有则写入. 3)管理员可以限制上传文件的类型主要是word文档和图片 为了防止修改上传文件后缀名,你可建立一张表,专门把各类文件的MIME类型写入并建立对应关系,在上传同时,抽取该文件的MIME类型进行判断,在允许范围内则上传,不允许则弹出消息框并回退. 4)记录用户上传文件的时间,储存于数据库中 这个上传里面已经可以了,你可把文件名等信息一并存入下面给出上传简要示例System.Web.HttpPostedFile myFile = this.Request.Files[0]; if(myFile.ContentLength != 0) { string tmpFileName = myFile.FileName; string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf(".")); string myFileMimeType = myFile.ContentType(); myFile.SaveAs(this.Server.MapPath("../" + myFileName)); } 下面是一个流下载的示例(VB版本,但大致相同,修改一下即可)Dim Flag As String Dim Path As String Flag = Request("Flag") If Flag = "MailFiles" Then Path = "D:\MailFiles\" & Request("File") Else Path = "D:\ATT\" & Request("File") End If Dim File As New System.IO.FileInfo(Path) Response.Clear() Response.AddHeader("Content-Disposition", "attachment; filename=" + File.Name) Response.AddHeader("Content-Length", File.Length.ToString()) Response.ContentType = "application/octet-stream" Response.WriteFile(File.FullName) Response.End() --------------------------------------------------------------- try Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(File.Name))
谢谢各位,我现在知道大致思路了.不过还是对具体的参数知道他的意思. 我的窗体有一个file filed 控件,id:file1一个button服务器控件id:btnupload. Private Sub btnupload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupload.Click Dim filename, filetype As String Dim files As System.Web.HttpFileCollection =System.Web.HttpContext.Current.Request.Files Dim iFile As System.Int32 Dim postedFile As System.Web.HttpPostedFile = files(iFile) filename = postedFile.FileName '获得文件名 filetype = postedFile.ContentType() '获得文件类型
If type = "application/msword" Then '判断是否为word If postedFile.ContentLength <> 0 Then '判断文件是否为空 postedFile.SaveAs("C:\" + filename) End If End If End Sub----------------------------------------------------------------- Dim postedFile As System.Web.HttpPostedFile = files(iFile)中的files(iFile)是什么意思? 我的file filed 控件id为:file1 filename = postedFile.FileName filetype = postedFile.ContentType() 这两句可以得到用户选择的文件名和类型吗?如果有多个file filed想同时上传多个文件.怎么同时获得他们的上传文件名和类型啊? postedFile.SaveAs("C:\" + filename)这句就可以把上传的文件保存在C:\了吗?
多个上传框则这样 Dim postedFile As System.Web.HttpPostedFile = files(me.上传框对象.ID) 这样就可区分开多个上传框
Dim postedFile As System.Web.HttpPostedFile = me.request.files(me.上传框对象.ID) 上面写错了
图片的和这个原理一样
我的csdn博客里有个类似的例子,但现在csdn的博客好像不好用,你可以到孟老大的网上看看,那里有些类似的
这个在net里面还是比较容易实现的,自己看一下帮助里面的上传的例子即可.主要是下载,你最好用流方式给用户下载,这样可控制权限,避免用直接下载的方式下载.
2)不同的登录用户对应自己的文件夹
这个就有一点小技巧,你可以在上传时,根据用户的ID号来产生文件夹.先判断有否此文件夹,无则创建,有则写入.
3)管理员可以限制上传文件的类型主要是word文档和图片
为了防止修改上传文件后缀名,你可建立一张表,专门把各类文件的MIME类型写入并建立对应关系,在上传同时,抽取该文件的MIME类型进行判断,在允许范围内则上传,不允许则弹出消息框并回退.
4)记录用户上传文件的时间,储存于数据库中
这个上传里面已经可以了,你可把文件名等信息一并存入下面给出上传简要示例System.Web.HttpPostedFile myFile = this.Request.Files[0];
if(myFile.ContentLength != 0)
{
string tmpFileName = myFile.FileName;
string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf("."));
string myFileMimeType = myFile.ContentType();
myFile.SaveAs(this.Server.MapPath("../" + myFileName));
}
下面是一个流下载的示例(VB版本,但大致相同,修改一下即可)Dim Flag As String
Dim Path As String Flag = Request("Flag")
If Flag = "MailFiles" Then
Path = "D:\MailFiles\" & Request("File")
Else
Path = "D:\ATT\" & Request("File")
End If
Dim File As New System.IO.FileInfo(Path)
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" + File.Name)
Response.AddHeader("Content-Length", File.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(File.FullName)
Response.End()
--------------------------------------------------------------- try Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(File.Name))
我的窗体有一个file filed 控件,id:file1一个button服务器控件id:btnupload.
Private Sub btnupload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupload.Click
Dim filename, filetype As String
Dim files As System.Web.HttpFileCollection =System.Web.HttpContext.Current.Request.Files
Dim iFile As System.Int32
Dim postedFile As System.Web.HttpPostedFile = files(iFile)
filename = postedFile.FileName '获得文件名
filetype = postedFile.ContentType() '获得文件类型
If type = "application/msword" Then '判断是否为word
If postedFile.ContentLength <> 0 Then '判断文件是否为空
postedFile.SaveAs("C:\" + filename)
End If
End If
End Sub-----------------------------------------------------------------
Dim postedFile As System.Web.HttpPostedFile = files(iFile)中的files(iFile)是什么意思?
我的file filed 控件id为:file1
filename = postedFile.FileName
filetype = postedFile.ContentType()
这两句可以得到用户选择的文件名和类型吗?如果有多个file filed想同时上传多个文件.怎么同时获得他们的上传文件名和类型啊?
postedFile.SaveAs("C:\" + filename)这句就可以把上传的文件保存在C:\了吗?
Dim postedFile As System.Web.HttpPostedFile = files(me.上传框对象.ID)
这样就可区分开多个上传框
上面写错了