pb使用http方式上传下载文件

本文通过SATRDA组件几句代码实现文件的http上传和下载,SATRDA提供了文件上传下载功能,包括服务器和客户端的实现。

1. 首先下载SATRDA

加QQ群:345559891  下载最新版本,里面有pb相关demo


2.运行satserver.exe, 完成http服务的启动

3.在server目录下面建立public文件夹,在public文件夹下建立自己目录的文件夹,如file,用于文件上传

准备工作就完成了,上传下载可以参考下文件里面的pb示例.

上传文件代码

long ll_rtn,ll_http
String ls_path
blob lb_filename,lb_key
blob{1} lb_null
String ls_filekey,ls_md5

//如果后台文件密钥设置了值,指定ls_filekey的值
//ls_filekey = "cc12345678901234"	

ls_path = "d:/111.txt"
lb_filename = n_api.of_toutf8("file/中文名.jpg")
ll_http = n_api.SATHTTP_Create()

//设置连接超时时间5秒
n_api.SATHTTP_SetOption( ll_http,n_api.SATOPT_CONNECTTIMEOUT , 5000)
//设置选项,10秒内速度低于1字节/秒会超时
n_api.SATHTTP_SetOption( ll_http,n_api.SATOPT_LOW_SPEED_LIMIT , 1)
n_api.SATHTTP_SetOption( ll_http,n_api.SATOPT_LOW_SPEED_TIME , 10)

//服务端设置了文件密钥,需要用密钥签名,算法md5(文件名+密钥)
if ls_filekey <> "" then
	lb_key = lb_filename + n_api.of_toutf8( ls_filekey)
	ls_md5 = n_api.satrda_md5( lb_key, len(lb_key))
	n_api.SATHTTP_SetHeader( ll_http, "keysign", ls_md5)
end if

lb_filename = lb_filename + lb_null
n_api.SATHTTP_AddFormFile( ll_http,ls_path, lb_filename)
ll_rtn = n_api.SATHTTP_PostForm(ll_http,"http://127.0.0.1:5555/upload/file.go")
n_api.SATHTTP_Destroy(ll_http)

if ll_rtn = 200 then
	messagebox("","成功!")
else
	messagebox("",ll_rtn)
end if


下载文件代码

long ll_rtn,ll_http
String ls_rfile,ls_filename
blob lb_b

lb_b = n_api.of_toutf8( "中文名.jpg")
ls_filename = n_api.SATHTTP_UrlEncode( lb_b, len(lb_b))
ls_rfile = "http://127.0.0.1:5555/file/" + ls_filename

ll_http = n_api.SATHTTP_Create()
ll_rtn = n_api.SATHTTP_GetFile(ll_http,ls_rfile,"d:/11.jpg")
n_api.SATHTTP_Destroy(ll_http)

if ll_rtn = 200 then
	messagebox("","成功!")
else
	messagebox("",ll_rtn)
end if


 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值