以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教如何用ft做后端发送api数据-追问:服务器如何发送图片文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153173)

--  作者:rogen
--  发布时间:2020/8/3 9:05:00
--  请教如何用ft做后端发送api数据-追问:服务器如何发送图片文件
最近在学习uniapp,想用狐表做后端,发送api数据
已在狐表里搭建好了一个test页面,传入一个v1的参数后,能向页面返回数据,如图


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2020-08-03_08-59-52.png
图片点击可在新窗口打开查看

在uniapp的按钮里写以下代码,只能触发fail,不能触发success,不知哪里有问题。

methods: {
   getData() {
    uni.request({
     url: \'http://127.0.0.1/test\',
     data: {
      v1: \'王伟\'
     },
     dataType: JSON,
     success: (res) => {
       console.log(res.data);
     },
     fail: ()=> {
      console.log(\'err\')
     }
    });
   }
  }
[此贴子已经被作者于2020/8/4 6:48:26编辑过]

--  作者:有点蓝
--  发布时间:2020/8/3 9:08:00
--  
如果提交json数据,服务端使用e.PlainText获取提交的数据

或者

uni.request({
url: \'http://127.0.0.1/test?v1=王伟,
success: (res) => {


--  作者:rogen
--  发布时间:2020/8/4 6:54:00
--  

之前的问题,改为蓝版的方式二后成功了,能返回文字数据

追加提问:

如何将服务器上的图片文件发送给前端?

狐表代码为:

    Case "getYgInfo"       
        Dim dt As DataTable = DataTables("员工")
        Dim ygarr As new JArray
        Dim drs As List(of DataRow) = dt.SQLSelect(True)
        For i As Integer = 0 To drs.Count -1
            ygarr.add(new JObject)
            ygarr(i)("xm") = drs(i)("姓名").tostring
            ygarr(i)("csrq") = Format(drs(i)("出生日期"),"yyyy-MM-dd")
            ygarr(i)("pic") = "../../static/headpic/" &  drs(i)("照片").Tostring
        Next
        e.WriteString(CompressJson(ygarr))

 

比如想将服务器上D:\\static\\headpic目录下图片发送给前端(就是能在浏览器里输入网址后访问到图片),该如何改代码?


--  作者:有点蓝
--  发布时间:2020/8/4 9:12:00
--  
比如服务端启动指定了web根目录【HttpServer.WebPath = "d:\\web"  \'指定静态文件存储位置
那么服务用到的所有资源都要放到【"d:\\web"】里面(或者子目录)

--  作者:rogen
--  发布时间:2020/8/5 8:46:00
--  
比如我在狐表服务端设置了HttpServer.WebPath = "d:\\web"
也将图片复制到了这个文件夹


然后代码改为了:
  Case "getYgInfo"        
        Dim dt As DataTable = DataTables("员工")
        Dim ygarr As new JArray
        Dim drs As List(of DataRow) = dt.SQLSelect(True)
        For i As Integer = 0 To drs.Count -1
            ygarr.add(new JObject)
            ygarr(i)("xm") = drs(i)("姓名").tostring
            ygarr(i)("csrq") = Format(drs(i)("出生日期"),"yyyy-MM-dd")
            ygarr(i)("pic") = drs(i)("照片").Tostring
        Next
        e.WriteString(CompressJson(ygarr))

浏览器访问到了数据:

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2020-08-05_08-44-07.png
图片点击可在新窗口打开查看

如何能获得图片地址,能在浏览器里查看呢?

[此贴子已经被作者于2020/8/5 8:46:45编辑过]

--  作者:有点蓝
--  发布时间:2020/8/5 9:04:00
--  
完整地址需要自己拼接:http://xxxip/getyginfo/fm01.png

如果要在json里显示完整地址

ygarr(i)("pic") = e.Host & ":" & e.Port & "/" & e.Path & "/" & drs(i)("照片").Tostring
msgbox(ygarr(i)("pic").tostring)

--  作者:rogen
--  发布时间:2020/8/5 9:33:00
--  

还是不行呢

 

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题1343.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/8/5 9:34:00
--  
http://xxxip/fm01.png
--  作者:rogen
--  发布时间:2020/8/5 9:44:00
--  
以下是引用有点蓝在2020/8/5 9:34:00的发言:
http://xxxip/fm01.png

化繁为简,成功啦!

谢谢蓝版!

 


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2020-08-05_09-42-56.png
图片点击可在新窗口打开查看

--  作者:rogen
--  发布时间:2020/8/5 10:04:00
--  

为啥局域网测试ok,放服务器上又不行了呢

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题173354.png
图片点击可在新窗口打开查看