前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >群友一直关心的大问题,VFPBS文件上传该怎么写?

群友一直关心的大问题,VFPBS文件上传该怎么写?

作者头像
加菲猫的VFP
发布2021-10-20 15:15:22
3790
发布2021-10-20 15:15:22
举报

昨晚7点半新加入社群的狐友在学极简VFPBS入门的时候,说我视频展示的是用POSTMAN来演示文件上传的一种方式,说我想知道网页怎么上传。

这么认真的狐友,晚上还在加油,感觉自己肩上的担子更重了,要把VFP推广开来,要多加努力了。

1 编写HTML前端页面,文件名fileupload.html存放在WWWROOT目录下,

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <form action="ctl_file.fsp" method="post" enctype="multipart/form-data">
      <input type="text" name="ttt" value="">
      <input type="file" name="myfile">
      <input type="submit" value="保存"/>
    </form>
  </body>
</html>
代码解析:

1 form表单的action指向了VFP后端的ctl_file类,也就是这个表单的内容会被ctl_file类所接收。

2 enctype参数multipart/form-data表示表单由键值对提交的方式,改成文件上传模式。

3 在 HTML 文档中 <input type="file"> 标签每出现一次,一个 FileUpload文件 对象就会被创建。 它包含一个文本输入字段,用来输入文件名,还有一个按钮,用来打开文件选择对话框选择文件。

如果要过滤指定后缀的文件,添加accept属性,如只能选择rar文件

<input class="style_file_content" accept=".rar" type="file" />

  切记:value属性不要写,name的值是给后端用的

2 编写VFP后端代码

Define Class ctl_file As Session
  Procedure ondefault
      clear
    oFile=getupfile()
    ?"ttt的值",oFile.oFieldColl.Item("ttt").fielddata
    ?"上传文件名",oFile.oFieldColl.Item("myfile").filename
    *--文件数据
    cFileData=oFile.oFieldColl.Item("myfile").fielddata
    *--文件保存起来
    STRTOFILE(cFileData,getwwwrootpath()+"1.rar")
  return "ok"
  Endproc
Enddefine
代码解析:

 HTML前端FORM是文件上传模式,所以我们利用getupfile()来接收,它会返个文件对象,包含了一个集合,每个集合的KEY就是前端传入的name字段。

结构:oFieldColl集合,item(key)是个对像存放每个字段的相关内容。集合的key=前端的name

 oFieldColl.item(key).FieldName:字段名 (前端传入的name)

oFieldColl.item(key).FieldData: 字段值(前端传入的value)

 oFieldColl.item(key).FileName: 文件名,如果上传的是文件类型,这里可以获取原始文件名。

 oFieldColl.item(key).FieldType:字段类型

getwwwrootpath的作用指向wwwroot目录,编译之后,就是网站根目录。

3 打开浏览器,输入如下网址,选择文件上传

可以看到VFP的窗口有输出了

查看wwwroot目录

喜欢的可以看视频

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 昨晚7点半新加入社群的狐友在学极简VFPBS入门的时候,说我视频展示的是用POSTMAN来演示文件上传的一种方式,说我想知道网页怎么上传。
  • 这么认真的狐友,晚上还在加油,感觉自己肩上的担子更重了,要把VFP推广开来,要多加努力了。
  • 1 编写HTML前端页面,文件名fileupload.html存放在WWWROOT目录下,
    • 代码解析:
    • 2 编写VFP后端代码
      • 代码解析:
      • 3 打开浏览器,输入如下网址,选择文件上传
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档