问题标签 [static-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
281 浏览

python - Django: Static content on very small scale website

I'm working on a very small scale website for my school (less than 100 users a day) and was wondering if there was a way too store static files on the django server instead of deploying a second server to manage static files. Google searches turn up things like the following: https://docs.djangoproject.com/en/dev/howto/static-files/, but I'm wondering if there was a more simple way to do this, even if it wasn't very efficient, on the Django server.

0 投票
1 回答
65 浏览

python - Django:相互引用的静态文件。

我有一个包含静态文件的目录myapp/static/,其中有static/cssstatic/javascriptstatic/images这些文件如何相互引用?瞬间,css 必须使用图像文件作为某些页面的背景。您必须对网址进行硬编码吗?相对可以吗?

0 投票
2 回答
3884 浏览

rest - Nginx url重写为restful url

我有一个 Rails 网络应用程序,它在动态静态 url 下有静态文件。例如:

我想设置 Nginx 以重定向到服务器上的静态文件:

其中 1 是动态项目 ID。

位置块和重写语句如何查找 Nginx 配置文件?


更新

我在下面标记了一个答案,因为它回答了我原来的问题。尽管在我的情况下不需要重写我的项目附件 url。我忘记了我已经在我的 Rails 视图 erb 中重新映射了 url。

我真正的目标是阻止 Thin 将缓存响应标头添加到我的附件文件中。最终,我可以通过添加如下附件的位置来使用 Nginx 来防止这种情况:

0 投票
2 回答
309 浏览

node.js - 使用 node.js 从文件系统提供文件,响应正文返回为空

所以我试图在文件上传到服务器后将文件返回给用户。我将上传的文件存储在应用程序目录中,名为 uploads 的目录中。这是我用来提供文件的代码:

virtualToPhysical 只是将文件系统中目录的路径附加到请求 url 上。如果 req.url 是“/uploads/image1.jpg”,virtualToPhysical 将输出“/path/to/application/uploads/image1.jpg”。mime.lookup() 调用来自一个包含的库,该库为文件推断出正确的 MIME 类型。

此代码运行没有任何错误。响应标头看起来不错,但无论文件类型或大小如何,正文每次都返回为空。我尝试了另一种使用 util.pump() 的方法,但产生了相同的结果。

*编辑: *我一直在环顾四周,这实际上是人们说用于通过节点提供文件的唯一方法。我不知道我的问题可能是什么。有人建议在调用 res.end() 时不要使用 'binary' 标志,但无论如何都会产生相同的效果。

0 投票
1 回答
5292 浏览

web-config - 带身份验证的 aspnet 静态文件访问

在我的应用程序文件夹中,我有虚拟应用程序 QA。有一个文件夹“帮助”,其中包含 html 和其他静态文件。QA 正在使用表单身份验证。

帮助文件夹中的所有文件无需身份验证即可访问(例如,www.mypage.com/QA/help/test.html)。我需要更改它,以便如果用户访问帮助文件夹中的文件(html 文件或任何其他静态文件),那么用户将重定向到登录页面。我在谷歌上搜索,我发现的唯一一件事是这是静态文件处理和映射到 asp 的东西。我正在使用 IIS 6。

我试图添加这样的行

到我的 web.config (在 QA 文件夹中),但它没有帮助。实际上,我不明白这一行,而且我是 web.config 文件管理的新手。我还尝试将帮助文件夹中的所有静态文件放入 QA 中,但它也无济于事。

0 投票
5 回答
5789 浏览

django - Heroku 上带有 gunicorn 服务器的 Django 项目不提供静态文件

我的 Django 1.3 项目在开发服务器上提供静态文件,但不提供 gunicorn 服务器静态文件。我按照这个 Heroku 指南的步骤进行操作。

当我像在指南()中那样使用我的 procfile 的内容时 web: gunicorn myproject_django.wsgi -b 0.0.0.0:$PORT,Heroku 无法识别我的项目。

然后我将该 Procfile 更改为:

现在我的应用程序运行除了静态文件(css 不活动也不图像)。

我的项目树:

settings.py 的潜在相关部分

编辑

在 Francis Yaconiello 进入后,我调整了以下内容:

在 settings.py

在 gitignore 中:

然后就答应了。最后跑了heroku run python myproject_django/manage.py collectstatic

但是当我检查网页时仍然没有提供静态文件。鉴于我的目录树,为什么这些更改不起作用?

编辑2

我仍然看不到我的静态文件。当我点击图像时,DEBUG=True我得到这个:

(注意staticfiles目录是空的)

在 settings.py

0 投票
1 回答
1865 浏览

python - 运行`gunicorn_django`时不提供静态文件默认行为?

myproject_django$ gunicorn_django为我的网站提供服务,静态文件除外。任何想法为什么?我正在使用 django 1.3 从虚拟环境中运行它。

项目树

settings.py 的潜在相关部分

0 投票
3 回答
715 浏览

python - Python 中的“图像服务网络框架”?

我正在计划一个 iOS 应用程序,它需要一个能够有效地提供图像文件并根据它获得的请求执行一些动态操作的服务器后端(例如读取和写入数据存储,例如 Redis)。我最满意,因此更喜欢用 Python 编写后端。

我查看了很多 Python Web 框架/服务器选项,其中包括 Flask、Bottle、static 和 Tornado。共同点似乎是它们要么只支持提供静态文件作为开发时的便利,不鼓励在生产中使用它,要么是高效的静态文件服务器,但并不真正适合动态框架类的东西。这并不是说它们不能充当后端,但乍一看,它们似乎都有些尴尬。

简而言之,我需要一个专门提供 JPEG 而不是生成 HTML 的 Web 框架。我很确定不存在这样的事情,但现在我希望有人可以提出一个解决方案,该解决方案可以在不以它们不适合的方式弯曲使用过的 Python 应用程序的情况下工作。

规格和实际要求

我将提供给客户端的图像存在于文件系统中的浅层目录层次结构中。实际的文件名对客户端是不可见的。服务器将在启动时读取目录层次结构,为每个文件分配一个数字 ID,并将请求路由到控制器方法,然后实际为图像文件提供服务。以下是客户希望在不同情况下访问图像的一些示例:

  1. 随机(示例 URL 路径/image/random:)
  2. 随机,每个文件只有一次(/image/random_unique),当文件用完时会产生一些合适的非 200 HTTP 状态码
  3. 在任一方向上依次(/image/0,/image/1/image/2

等等。此外,还有一些 URL 端点,用于诸如评级、图像信息和其他元数据,以及一些特定于客户端的信息(客户端将向服务器“注册”,因此也需要一些逻辑)。这些数据很可能存在于 Redis 数据存储中。

总而言之,后端需要擅长提供 image/jpeg 和 application/json(它也会生成)。可扩展性和并发性要求是适度的,至少从一开始就是这样(这不是 App Store 应用程序,用于临时或企业分发)。

我不希望应用程序依赖重定向。也就是说,我不想要一个模型,其中对 URL 的请求将返回重定向到另一个由 nginx 作为单独的静态文件服务器支持的 URL,只留下 Python 后端的图像选择逻辑。相反,来自客户端的 URL 请求应始终返回 image/jpeg,并在必要时在自定义 HTTP 标头中包含元数据。我指定它是因为它是一种避免从 Python 提供静态文件的方法,我想到了,其他人也可能想到 ;-)

鉴于这些信息,您认为哪种解决方案是好的选择,为什么?或者这是我需要为现有项目编写重要扩展的东西?


编辑:我一直在考虑这个问题。我不希望重定向,因为它们需要的多个请求固有的延迟,另外我想从客户端抽象出文件名,但我想知道这样的事情是否可能:

建议的请求流图

这是不言自明的,但想法是 Python 程序由 nginx(或任何服务角色)提供请求信息,仔细考虑,然后告诉 nginx 使用文件系统中的特定文件响应客户端的请求. 它这样做了。客户端对于请求是如何完成的并不明智,它只是接收到具有正确内容类型的响应。

在我看来,这将是非常理想的,但有可能吗?如果不使用 nginx,也许还有别的?

0 投票
2 回答
9950 浏览

python - 在 Tornado 中禁用静态文件缓存

默认情况下,TornadoCache-Control: public在任何由StaticFileHandler. 这怎么能改成Cache-Control: no-cache

0 投票
1 回答
4877 浏览

django - 无法让 nginx 为收集的静态文件提供服务

我正在尝试让 nginx 与 gunicorn 一起工作。我有一个/project/static/静态文件所在的目录。/project/livestatic/使用显示的配置将这些文件收集到一个目录settings.py中:

我正在使用以下 nginx 配置:

在开发服务器(忽略 nginx)下,此配置工作正常,我可以通过以/static/file.extension. 但是,当 nginx/gunicorn 开始发挥作用时,这不起作用,并且尝试访问domain.org/static/会给出 django 404 页面,这表明 nginx 直接不提供文件。我怎么错了?