Foxtable(狐表)用户栏目专家坐堂 → [求助]如何用post方法替换API中的图片地址?


  共有7657人关注过本帖树形打印复制链接

主题:[求助]如何用post方法替换API中的图片地址?

帅哥哟,离线,有人找我吗?
智友软件工作室
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
[求助]如何用post方法替换API中的图片地址?  发帖心情 Post By:2013/9/5 23:35:00 [只看该作者]

https://apicn.faceplusplus.com/v2/detection/detect?url=http%3A%2F%2Ffaceplusplus.com%2Fstatic%2Fimg%2Fdemo%2F1.jpg&api_secret=YOUR_API_SECRET&api_key=YOUR_API_KEY

上面是一个api请求,目前url=http%3A%2F%2Ffaceplusplus.com%2Fstatic%2Fimg%2Fdemo%2F1.jpg这个是互联网的图片,现在如何使用post方法上传本地的图片去替换这个url呢?
求高手指教!

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/6 8:36:00 [只看该作者]

前提是对方服务器有这个图片才可以的,是不可以随便就上传东西到人家服务器的.

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2013/9/6 9:56:00 [只看该作者]

http://cn.faceplusplus.com/dev/api/detection/detectiondetect/
这个是他们的API接口说明,不知您有什么好的办法吗?网络的url已经成功,现在就是比对本地图片还不会了。
[此贴子已经被作者于2013-9-6 9:56:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2013/9/6 10:25:00 [只看该作者]

常见问题FAQ

问:通过Face++ API上传图片的规格有什么要求吗?

答:有。图片文件大小不能超过3MB,可以是.jpg,.png,.gif等常见格式。但如果上传动态GIF,只会处理第一帧。此外,上传图片会被标准化为600*600像素的大小再进行后续计算。

问:通过HTTP POST方法上传图片时,有什么注意事项吗?

答: 通过 POST 上传图片时,发送的数据请使用 multipart/form-data 编码。事实上,目前所有API都接受GET求和以 multipart/form-data 或 application/x-www-form-urlencoded 编码的 POST 请求。



以上是官网的解答,应该可以上传图片到他们的服务器吧?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/6 10:38:00 [只看该作者]

既然支持,你可以自行参考着做.

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2013/9/6 10:49:00 [只看该作者]

我现在是一点都不知道在狐表里该怎么做,您能给简单写写吗?给我个思路。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/6 10:54:00 [只看该作者]

看半天,没看到上传的API在哪里,这个只能靠你自己了.

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2013/9/6 10:56:00 [只看该作者]

如果假设有个上传的API您能给我一段post上传二进制图片的代码吗?我就可以自己研究了。非常感谢您了!

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/6 10:59:00 [只看该作者]

这个要看是否有空余的时间帮你研究狐表以外的事情了.

 回到顶部
帅哥哟,离线,有人找我吗?
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2013/9/6 11:05:00 [只看该作者]

    '正好前段时间开发一个IOS的APP后台接口,给你一段代码吧

    '客户端HttpWebPost上传文件代码,在Visual studio 2010中写的,要放进Foxtable需要加一下命名空间

    Public Function HttpPostFile(ByVal url As String,
                                 ByVal timeOut As Integer,
                                 ByVal dicFile As Dictionary(Of String, String))

        Dim responseContent As String
        Dim memStream As New MemoryStream
        Dim webRequest As HttpWebRequest = HttpWebRequest.Create(url)
        '边界符
        Dim boundary As String = "---------------" + DateTime.Now.Ticks.ToString("x")
        Dim beginBoundary As Byte() = Encoding.ASCII.GetBytes("--" & boundary & vbCrLf)
        Dim endBoundary As Byte() = Encoding.ASCII.GetBytes(vbCrLf & "--" & boundary & "--")

        Dim fileStream As FileStream = New FileStream(dicFile("img1"), FileMode.Open, FileAccess.Read)

        '设置属性
        webRequest.Method = "POST"
        webRequest.Timeout = timeOut
        webRequest.C & boundary

        memStream.Write(beginBoundary, 0, beginBoundary.Length)

        '写入文件1
        Dim header As String = "Content-Disposition: form-data; name=""img1"";filename=""" & FileIO.FileSystem.GetName(dicFile("img1")) & """" & vbCrLf &
                                "Content-Type: application/-image" & vbCrLf & vbCrLf
        Dim headerbytes As Byte() = Encoding.UTF8.GetBytes(header)
        memStream.Write(headerbytes, 0, headerbytes.Length)

        Dim buffer(1024) As Byte
        Dim bytesRead As Integer = fileStream.Read(buffer, 0, buffer.Length)
        While bytesRead > 0
            memStream.Write(buffer, 0, bytesRead)
            bytesRead = fileStream.Read(buffer, 0, buffer.Length)
        End While

        memStream.Write(Encoding.ASCII.GetBytes(vbCrLf & "--" & boundary & vbCrLf), 0, beginBoundary.Length)

        '写入文件2
        header = vbCrLf & "Content-Disposition: form-data; name=""img2"";filename=""" & FileIO.FileSystem.GetName(dicFile("img2")) & """" & vbCrLf &
                                "Content-Type: application/-image" & vbCrLf & vbCrLf
        headerbytes = Encoding.UTF8.GetBytes(header)
        memStream.Write(headerbytes, 0, headerbytes.Length)
        fileStream = New FileStream(dicFile("img1"), FileMode.Open, FileAccess.Read)
        bytesRead = fileStream.Read(buffer, 0, buffer.Length)
        While bytesRead > 0
            memStream.Write(buffer, 0, bytesRead)
            bytesRead = fileStream.Read(buffer, 0, buffer.Length)
        End While

        '写入最后的结束边界符
        memStream.Write(endBoundary, 0, endBoundary.Length)
        webRequest.ContentLength = memStream.Length
        Dim requestStream As Stream = webRequest.GetRequestStream
        memStream.Position = 0
        Dim tempBuffer(memStream.Length - 1) As Byte
        memStream.Read(tempBuffer, 0, tempBuffer.Length)
        memStream.Close()

        requestStream.Write(tempBuffer, 0, tempBuffer.Length)
        requestStream.Close()

        Dim httpWebResponse As WebResponse = webRequest.GetResponse
        Using httpStreamReader As New StreamReader(httpWebResponse.GetResponseStream, Encoding.GetEncoding("utf-8"))
            responseContent = httpStreamReader.ReadToEnd
        End Using
        fileStream.Close()
        httpWebResponse.Close()
        webRequest.Abort()

        Return responseContent

    End Function


    '调用方法

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim token As String = "aaf3308d-8205-4415-9d62-4a27763cc5b2"

        Dim url As String = "http://........../CustomerMobile.asmx"

        Dim dicFile As New Dictionary(Of String, String)
        dicFile.Add("img1", "d:\aaa.xls")
        dicFile.Add("img2", "d:\yumtown.ipa")
        MsgBox(HttpPostFile(url & "/SubmitEnquiry?user_id=KH/222&uploadfile=1&enquiry_id=XP-1307013&token=" & token,
             10000, dicFile))
        dicFile = Nothing
    End Sub

 

 

[此贴子已经被作者于2013-9-6 11:12:03编辑过]

 回到顶部
总数 14 1 2 下一页