ASP中的上传FROM中enctype="multipart/form-data"传参问题~
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP中的上传FROM中enctype="multipart/form-data"传参问题~相关的知识,希望对你有一定的参考价值。
在一个嵌入式上传页面中,想判断ASPJPEG组件的水印是否要添加,采用的是SELECT控件传参方式 ,但是由于enctype的存在导致传参不成功,大家有什么好的解决方法不?
<input type="file" name="up_file" onChange="load_img(this.value,'this_img')" />
<select name="this_sy" size="1">
<option value="1">添加水印</option>
<option value="0">不加水印</option>
</select> <input type="submit" value="上传" /></form>
form里面的input的值以2进制的方式传过去,所以直接request就得不到值了。
用这个办法试试:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值追问
SmartUpload 是JSP中的吧,我采用的是ASP的一个上传组件,应该如何写?
追答方法类似,你用的组件应该也有类似的方法。
参考技术B 可以使用无组件上传或者组件上传 如 aspupload,都可以轻松的获取到表单值,里边都有获取函数如 aspupload
Set Obj = Server.CreateObject("Persits.Upload")
userid=Obj.Form("this_sy").value 获取表单值追问
艾恩ASP无组件上传类,看了下源码是有获取表单值的功能,应该如何使用呢?
Public Function Forms(ByVal formname)
If trim(formname) = "-1" Then
Set Forms = Form
Else
If Form.Exists(LCase(formname)) Then
Forms = Form(LCase(formname))
Else
Forms = ""
End If
End If
End Function
obj 为你的无组件对象
aaa=obj.Forms(formname)
即可
知识积累
from表单上传
from 上传文件:
--form表单上传文件 后端获取文件
注意:
1. method 为post
2.enctype -->from-date
3.用post 要在settings注释一个中间件csrf
eg:<form action="" method="post" enctype="multipart/form-data">
def upload(request):
# print(request.POST)
"""
django针对不同类型的数据 会帮你解析并放到不同的方法中供你调用
"""
if request.method == "POST":
print(request.FILES) # django会将文件类型的数据自动放入request.FILES里面
file_obj = request.FILES.get('myfile') # 文件对象
# print(file_obj)
# print(file_obj.name)
with open(file_obj.name,'wb') as f:
for line in file_obj:
f.write(line)
return render(request,'upload.html')
orm表格创建
orm 表关系:
多对多
一对多
一对一
换位思考 先站在一张表上面分析 然后再站在另一张分析
一对多 外键字段建在 多的那一方
多对多 多对多的外键关系需要建立第三张表来专门处理
建表:
先不要考虑外键关系 先创基表!!
# 小数总共八位 小数占两位
price=models.DecimalField(max_digits=8,decimal_places=2)
# 书跟出版社是一对多 并且书是多的一方 所以外键字段健在书表中
publish_id = models.ForeignKey(to='Publish') # to用来指代跟哪张表有关系 默认关联的就是表的主键字段
一对多外键字段 创建的时候 同步到数据中 表字段会自动加_id后缀
多对多的关系 外键字段建在任意一方都可以 但是建议你建在查询频率较高的那一方
author = models.ManyToManyField(to='Author') # django orm会自动帮你创建书籍 和作者的第三张关系表
# author这个字段是一个虚拟字段 不能在表中展示出来 仅仅只是起到一个高速orm 建第三章表的关系的作用
一对一的表关系 外键字段建在任意一方都可以 但是建议你建在查询频率较高的那一方
author_detail=models.OneToOneField(to='Author_detail') # fk + unique :外键 / 唯一性
一对一外键字段 创建的时候 同步到数据中 表字段会自动加_id后缀
伪静态:
将一个动态网页伪装成一个静态网页 以此来挺好搜索引擎SEO查询频率和搜藏力度;
搜索引擎其实就是一个也别巨大的爬虫程序
----->设计为.html 结尾
虚拟环境:
给每一个项目,装备该项目所需要的模块 不需要的模块一概不装
每创建一个虚拟环境就类似于你重新下载了一个纯净python解释器
优点:虚拟环境一台机器上可以有N多个
重新下载了一个纯净python解释器
缺点:不要无限制创建虚拟环境,消耗内存
会拖硬件/ 软件
以上是关于ASP中的上传FROM中enctype="multipart/form-data"传参问题~的主要内容,如果未能解决你的问题,请参考以下文章
ASP采用multipart/form-data方式上传数据,数据的结构是啥样的?