26
2019.2

文件上传

作者: POPASP
上传类使用MoLibUpload类,最新版本的上传类包含的功能如下: * 基本上传功能 * 支持批量上传 * 自定义参数上传 * 上传检测(包括大小、后缀和类型) * 支持哈希或者日期子目录保存上传文件 * 上传图片的安全性检测 在POPASP中使用上传功能无需进行特别处理。例如,下面是一个带有附件上传的表单提交: ```brush:xml ``` 注意表单的Form标签中一定要添加 enctype=”multipart/form-data”文件才能上传。表单提交后,我们需要在模块操作中写以下代进行上传处理: ```brush:vb dim data,filename '上传类型 Call C_( Array( "UPLOAD_ALLOW_TYPES" , "jpg;jpeg;png;gif;bmp" ) ) '因为在表单中使用了enctype=”multipart/form-data”,使用Request.form无法获取表单数据与上传数据,必须使用POP_MVC.post("") set data = POP_MVC.post("") '如果图片添加成功,有图片名,否则没有图片名 filename = POP_MVC.upload( "imageupload1" ) if filename = "" then that.error( "图片上传失败,请检查是否为合法的图片文件" ) end if filename = POP_MVC.upload( "imageupload2" ) if filename = "" then that.error( "图片上传失败,请检查是否为合法的图片文件" ) end if filename = POP_MVC.upload( "imageupload3" ) if filename = "" then that.error( "图片上传失败,请检查是否为合法的图片文件" ) end if '处理data数据 ``` 有几点需要注意,因为在表单中使用了enctype=”multipart/form-data”,使用Request.form无法获取表单数据与上传数据,必须使用POP_MVC.post("")来获取表单数据。上传已经进行了高度封装,只需要使用POP_MVC.upload方法上传即可,上传成功,返回文件名,上传失败返回值为Empty。文件上传还跟几个配置项有关 ```brush:vb ''允许上传的类型,只允许上传图片jpg;jpeg;png;gif;bmp POP_MVC.config("UPLOAD_ALLOW_TYPES") = "*.*" ''上传的文件限制 POP_MVC.config("UPLOAD_MAX_FILESIZE") = "100MB" ''上传限制 POP_MVC.config("UPLOAD_MAX_SIZE") = "100mb" ''上传路径,为空则默认为/Upload/yyyymmdd/ POP_MVC.config("UPLOAD_SAVE_PATH") = "" ``` 文件上传比较简单,做一两个练习即可掌握。