使用AJAX和Flask更改图像

texaspete11

我有一个HTML图像文件,我尝试使用其中的不同图像(尤其是最新图像)进行更新。这是烧瓶代码:

@app.route('/uploads/update_file',  methods=['GET', 'POST'])
def update_file():
    print('update_file')
    list_of_files = glob.glob(staging_dir+'/*.jpg')
    if len(list_of_files) == 0:
        latest_file = ''
    latest_file = max(list_of_files, key=os.path.getctime)
    print('latest '+latest_file)
    splits = latest_file.split('/')
    file = splits[-1]
    return send_from_directory(directory=staging_dir, filename=file)

在Java脚本中,我有:

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script>
       setInterval(ajaxCall,5000);

     function ajaxCall()
      {
          $.ajax({
                    type : 'GET',
                    url : "{{url_for('update_file')}}",
                    async: false,
                    success: function(data) {
                        document.getElementById("img").src = data;
                    },
                 });
      }
</script>

我看到的是update_file()被调用,但send_from_directory似乎从未返回。我认为是因为update_file仅被调用一次。任何想法有什么问题吗,或者这甚至是解决此问题的首选方法?

阿基布·拉斯特(Akib Rhast)

好的,这是一种快速解决方案,它不使用send_from_directory(),但是可以使用。

我基本上使用的是您帖子中相同的代码。删除了检查最新文件的逻辑(以使此演示保持简单)。

@app.route('/uploads/update_file',  methods=['GET', 'POST'])
def update_file():
    item = ["static/img/"+item for item in os.listdir("static/img")]
    return random.choice(item)

这是我的文件夹结构:

在此处输入图片说明

这是输出:

在此处输入图片说明

让我知道这是否适合您

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用按钮更改图像位置

来自分类Dev

UITabBarItem更改图像的高度和宽度

来自分类Dev

仅使用CSS更改图像。

来自分类Dev

使用IF语句更改图像

来自分类Dev

使用jQuery更改图像源URL

来自分类Dev

使用UIScrollView更改图像的Alpha

来自分类Dev

使用javascript onload更改图像

来自分类Dev

如何使用Metaio动态更改图像

来自分类Dev

如何使用Fabricjs更改图像颜色?

来自分类Dev

使用打开的cv和python更改图像标题以同时显示许多图像

来自分类Dev

使用CSS更改图像的大小

来自分类Dev

使用Javascript更改图像宽度/高度

来自分类Dev

PHP:使用imagick更改图像的DPI?

来自分类Dev

更改图像的高度和宽度-android

来自分类Dev

使用延迟更改图像

来自分类Dev

使用Ajax调用从另一个驱动器更改图像源到flask

来自分类Dev

使用输入和按钮更改图像大小

来自分类Dev

JavaScript使用onmouseover和onmouseout更改图像

来自分类Dev

使用python更改图像背景颜色

来自分类Dev

使用按钮更改图像位置

来自分类Dev

使用下拉菜单更改图像

来自分类Dev

使用jQuery检测悬停并更改图像

来自分类Dev

使用Imagick()更改图像格式

来自分类Dev

使用javascript更改图像

来自分类Dev

jQuery onclick和更改图像

来自分类Dev

使用刷新的ajax变量更改图像源

来自分类Dev

使用JavaScript预加载和更改图像

来自分类Dev

无法使用javascript更改图像的高度和宽度

来自分类Dev

Ajax更改图像Rails的问题