作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 Openshift 上启动一个 Nodejs 应用程序因为我想使用持久文件(如图像),所以我需要将它们存储在 OPENSHIFT_DATA_DIR
目录中。
我已经为构建阶段制作了这个 action_hooks:
#!/bin/bash
#First of all I check if the dir exists. If not I create it
if [ ! -d $OPENSHIFT_DATA_DIR'images' ]
then
echo "Create "$OPENSHIFT_DATA_DIR'images'
mkdir -p $OPENSHIFT_DATA_DIR'images'
fi
#Create symlink
echo "Create link: "$OPENSHIFT_REPO_DIR'images -> '$OPENSHIFT_DATA_DIR'images'
ln -sf $OPENSHIFT_DATA_DIR'images' $OPENSHIFT_REPO_DIR'images'
创建了符号链接(symbolic link),但index.html无法访问上传的文件
这是我的(愚蠢的)index.html
测试页:
<html>
<head>
<title>Test page</title>
</head>
<body>
<div id="image_container"/>
<div id="button_container"/>
<script type="text/javascript">
var loaded = false
var debug = false
var clickAction = function() {
if (debug) {
alert(process.env.OPENSHIFT_DATA_DIR)
}
else {
if (!loaded) {
var container = document.getElementById("image_container")
var image = document.createElement("img")
image.src = "images/montagna.jpg"
image.id = "img001"
container.appendChild(image)
loaded = true
}
else {
var container = document.getElementById("image_container")
var image = document.getElementById("img001")
container.removeChild(image)
loaded = false
}
}
}
window.onload = function() {
var container = document.getElementById("button_container")
var button = document.createElement("input")
button.type = "button"
button.name = "button1"
button.value = "clickme"
button.setAttribute("onclick", "clickAction()")
container.appendChild(button)
};
</script>
</body>
</html>
当我点击按钮时,我收到来自服务器的 404 错误(this 是应用程序的链接)。
请注意,我已经通过应用程序的 ~/app-root/data/images
目录中的 SFTP(使用 Filezilla)上传了文件,符号链接(symbolic link)似乎有效,因为我可以看到图片也来自 ~/app-root/repo/images
。
最佳答案
最简单的方法是使用 app.use() .
app.use('/images', express.static(process.env.OPENSHIFT_DATA_DIR+'/images'));
关于javascript - 在 Openshift 上上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23150714/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!