首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法为本地文件生成URL?

有没有办法为本地文件生成URL?
EN

Stack Overflow用户
提问于 2019-05-30 07:57:42
回答 1查看 472关注 0票数 3

我正在尝试创建一个Viber聊天机器人,能够发送一些图片。我被要求发送图像的URL作为参数,但我想发送的图像是在我的桌面上,我不知道如何获得他们的URL。

我尝试使用请求:

代码语言:javascript
复制
image = {  "media": open('test_image.jpg', 'rb')}

payload = { 
  "auth_token": "my token",
  "receiver": "my chat id", 
  "type": "picture", 
  "text": "some text", 
}

requests.post("https://chatapi.viber.com/pa/send_message", json=image, file=image)

我也尝试过使用imgur API,但一直使用selenium进行"pin“身份验证是一件很痛苦的事情。

下面是我的代码:

代码语言:javascript
复制
from viberbot import Api
from viberbot.api.bot_configuration import BotConfiguration

from viberbot.api.messages.picture_message import PictureMessage
from viberbot.api.viber_requests import ViberMessageRequest

from flask import Flask, request, Response

app = Flask(__name__)

bot_configuration = BotConfiguration(
    name='name',
    avatar='http://viber.com/avatar.jpg',
    auth_token='token'
)
viber = Api(bot_configuration)


@app.route('/', methods=['POST'])
def index():
  viber_request = viber.parse_request(request.get_data())

  if isinstance(viber_request, ViberMessageRequest):
    message = viber_request.message

    if message.text == "/pic":

      viber.send_messages(viber_request.sender.id, [
        PictureMessage(media="image url", text="Some text")
      ])

  return Response(status=200)


if __name__ == '__main__':
  app.run(debug=True)

总结:在图片消息对象媒体“PictureMessage(media="image url", text="Some text")”必须是图像的网址(只支持JPEG )。您将如何将桌面上的图像转换为URL?

EN

回答 1

Stack Overflow用户

发布于 2019-05-30 08:55:29

生成一个文件URI,比如file:///C:/Users/bob/Desktop/avatar.jpg

如何生成整个路径取决于这些文件所在位置。但以下是语法:

https://en.wikipedia.org/wiki/File_URI_scheme

你应该阅读它,注意路径前面的3个斜杠,并理解为什么(因为它是file://localhost/C:/Users/bob/Desktop/avatar.jpg的简写)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56369985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档