'附件添加 按钮 点击事件  吴翰哲 2013年7月23日 16:53:19
Protected Sub BtnAddFile_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnAddFile.Click
Try
Dim sysConfigDB As New SysConfigDB
Dim dr As DataRow = sysConfigDB.getItemByName("MaxFileSize")
Dim maxFileSize As Integer
If dr("ItemValue").ToString() = "" Or IsNumeric(dr("ItemValue").ToString()) = False Then
Dim returnVal As Integer = sysConfigDB.update("MaxFileSize", "4")
If returnVal < 1 Then
Exit Sub
End If
End If
dr = sysConfigDB.getItemByName("MaxFileSize")
maxFileSize = Integer.Parse(dr("ItemValue").ToString())
Dim strFlag As String If Me.UP_FILE.PostedFile.ContentLength > 0 Then
If Me.UP_FILE.PostedFile.ContentLength > (maxFileSize * 1000000) Then
'errMsg.Text = "附件大于4兆,无法上传"
lblError.Text = "附件大于" & (maxFileSize) & "兆,无法上传"
Exit Sub
End If
strFileName = Me.UP_FILE.PostedFile.FileName
strFileName = strFileName.Substring(strFileName.LastIndexOf("\") + 1) '先上传文件
objFile1.FileLength = CStr(Me.UP_FILE.PostedFile.ContentLength) strFlag = Upload3(2, Me.UP_FILE)
If strFlag = "" Then
lblError.Text = "附件保存失败!"
Exit Sub
Else
'If FileName = "" Then
'FileName = objFile1.FileName
'Else
' FileName = FileName + ";" + objFile1.FileName
'End If If OraFileName = "" Then
OraFileName = strFileName
Else
OraFileName = OraFileName + ";" + strFileName
End If
'单一上传文件,不支持一次批量上传
BtnAddFile.Visible = False
UP_FILE.Visible = False
'绑定drp
Dim ditem As New ListItem(strFileName, objFile1.FileName)
DropFiles.Items.Add(ditem)
ViewState("upSucess") = "upSucess"
lblError.Text = ""
End If
End If '下来判断是否是“更新文档”,来决定是否要添加到SQL 中去 Catch ex As IO.IOException
Throw New Exception(ex.InnerException.Message + ex.Message)
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub '得到保存附件的路径及文件名
Public Overridable Function rootPath3() As String If IsNothing(ViewState.Item("rootPath")) Then
rootPath3 = Server.MapPath(Context.Request.ApplicationPath) & "\File\PaperOfTeacherFile\"
Try
If Not System.IO.Directory.Exists(rootPath3) Then
System.IO.Directory.CreateDirectory(rootPath3)
End If Catch ex As IO.IOException Throw New AppException("无法上传文件!可能是由于用户没有创建文件夹的权限。", ex)
Exit Function
End Try ViewState.Add("rootPath3", rootPath3)
Else
rootPath3 = ViewState.Item("rootPath3")
End If
End Function Public Overridable Function Upload3(ByVal Type As Integer, ByVal Up_File As HtmlInputFile) As String
'创建和更新都只用这个方法,这样可以不用判断是那种情况 If Up_File Is Nothing Then
Return 0 '没有选择上传文件
End If Dim Upfile As HttpPostedFile = Up_File.PostedFile
'********************保存文件到指定的文件夹下***********************
If Not IsNothing(Upfile) Then
If String.IsNullOrEmpty(Upfile.FileName) Then
lblError.Text = "请选择附件后再点‘下一步’!"
Return String.Empty
End If Dim nam As String = System.IO.Path.GetFileName(Upfile.FileName.Trim)
If nam.LastIndexOf(".") < 0 Then
lblError.Text = "请点击‘浏览’来选择附件!"
Return String.Empty
End If '文件名全名:为了防止多人同时上传文件,当前时间末尾加上一个随机数。
Dim newFileName As String = Date.Now.Ticks.ToString & CStr(Int((6 * Rnd()) + 1)) & System.IO.Path.GetExtension(nam) '取得文件名扩展名 '文件保存到 /file/Bord/时间/ 目录下,文件名为上传时间+随机数+文件类型 Upfile.SaveAs(Me.rootPath3 & newFileName)
ViewState("FileName") = newFileName
FileName = newFileName
Return newFileName
End If Return ""
End Function '附件删除按钮 点击事件 吴翰哲 2013年7月25日 10:51:43
Protected Sub btnDelFile_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDelFile.Click
If DropFiles.Items.Count > 0 Then Dim delFileName As String
delFileName = DropFiles.SelectedItem.Value
'Me.DropFiles.Items.Remove(DropFiles.SelectedItem)
Dim delFileobj As New FileUploadOutline
'delFileobj.DeleteOldFile(delFileName)
'delFileobj.DelFileinSQL(LabelMessageID.Text, delFileName) Try
Dim delStr As String = delFileobj.DeleteOldFile3(delFileName) If delStr <> "ok" Then
lblError.Text = "删除文件时有错误发生,删除失败!"
Exit Sub
End If
Dim rint As Integer = delFileobj.DelFileinSQL3(DropFiles.SelectedItem.Text, DropFiles.SelectedValue)
If rint <> 1 Then
lblError.Text = "请确定已上传文件,删除失败!"
lblSucess.Text = ""
Exit Sub
End If
Catch ex As IO.IOException
Throw New AppException("删除文件失败可能是由于用户没有创建文件夹的权限。", ex)
Exit Sub
End Try
ViewState("attnum") = ViewState("attnum") - 1
Me.DropFiles.Items.Remove(DropFiles.SelectedItem)
lblSucess.Text = "删除附件成功"
lblError.Text = ""
BindRptFile()
UP_FILE.Visible = False
BtnAddFile.Visible = False
'Btnupdate_Click(sender, e)
End If
End Sub Public Overridable Function DeleteOldFile3(ByVal FileName As String) As String
If Not FileName Is Nothing Then
If System.IO.File.Exists(Server.MapPath(Context.Request.ApplicationPath) & "\File\PaperOfTeacherFile\" & FileName) Then
System.IO.File.Delete(Server.MapPath(Context.Request.ApplicationPath) & "\File\PaperOfTeacherFile\" & FileName)
Return "ok"
End If
End If
Return ""
End Function

VB.NET上传附件代码的更多相关文章

  1. java上传附件,批量下载附件(一)

    上传附件代码:借助commons-fileupload-1.2.jar package com.str; import java.io.BufferedInputStream;import java. ...

  2. wordpress多站点环境设置上传附件大小

    多站点环境更改上传附件大小: php.ini post_max_size = 8M upload_max_filesize = 10M 另外,后台域名管理中设置/网络设置/可以设置上传文件大小. 代码 ...

  3. jquery 通过ajax FormData 对象上传附件

    之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下 html: <div>   流程图: <input id=& ...

  4. Discuz! X论坛上传附件到100%自动取消上传的原因及解决方案

    最近接到一些站长的反馈,说论坛上传附件,到100%的时候自己取消上传了.经查是附件索引表pre_forum_attachment表的aid字段自增值出现了问题,导致程序逻辑返回的aid值实际为一个My ...

  5. Discuz模拟批量上传附件发帖

    简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 模拟上传 discuz 附件逻辑 dz附件储存在 ...

  6. 修改WordPress中上传附件2M大小限制的方法/php+iis上传附件默认大小修改方法

    在服务器上架设好WordPress后,使用过程中发现,上传附件大小有2M的限制 话说服务器就是本机,可以直接把文件拖到附件存储文件夹下,然后在需要附件的地方引用链接 可是这种落后的方法终究不是办法,还 ...

  7. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

  8. JQuery Uplodify上传附件(同一个页面多个uplodify控件解决方案)

    功能描述:实现同一页面中多个不同附件的上传保存,且做到最大程度的减少代码修改量(最大程度的公用),为了方便实现垃圾数据和垃圾文件的处理,项目采用临时文件夹的方式:即:文件自动上传先保存到临时文件夹下, ...

  9. discuz 模拟批量上传附件发帖

    discuz 模拟批量上传附件发帖 简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 插件地址 h ...

随机推荐

  1. springboot教程

    http://www.cnblogs.com/java-zhao/tag/spring-boot/ http://blog.csdn.net/liaokailin/article/category/5 ...

  2. Python类属性,实例属性

    1.Python类数据属性:定义在类里面但在函数外面的变量,它们都是静态的. #一段很简单的代码,但反应了很多 >>> class A(): a=1 #一个类里面有个属性a > ...

  3. (String) 压缩String

    e.g.  aaabbcccc    返回a3b2c4 public static String compressString(String str) { StringBuilder sb=new S ...

  4. POS管理系统之新增设备入库

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  5. PHP的命名空间

    简介: 防止名称冲突. 原理: 类似文件目录/usr/local这样的. 用法: namespace:定义命名空间: use:取别名: 代码示例:file 1.php <?php namespa ...

  6. String 及其数组的相关问题

    由其他类型转String一般用三种方法 方法1:采用 Object.toString()方法 请看下面的例子: Object object = getObject(); System.out.prin ...

  7. js 小工具-- 获取主机名

    <script type="text/javascript"> function getHostName(url) { var host = "null&qu ...

  8. 第23章 排序算法(包括merge等)

      第23章 排序算法  Sorting:1 sort Sort elements in range (function template)2 stable_sort Sort elements pr ...

  9. eclipse颜色 字体

    字体 之前也想过搜个字体,但是看了别人的推荐也没什么太大感觉.今天我自己选择了一款字体,发现看着单词中的i等瘦型的字母会比较费力,现在我知道自己想要什么样的字体了.网上推荐Inconsolata.pf ...

  10. 编程范式 episode 6 实现stack 栈功能_ to do

    //既然在这里开始,那就在这里结束. 实现stack 功能 ____coding _using subfunction to focus on the main aim of current func ...