是否有Node.js随时可用的工具(随附npm),这将有助于我将文件夹内容作为文件服务器通过HTTP公开.
例如,如果我有
D:\Folder\file.zip
D:\Folder\file2.html
D:\Folder\folder\file-in-folder.jpg
Run Code Online (Sandbox Code Playgroud)
然后从D:\Folder\ node node-file-server.js
我开始我可以通过访问文件
http://hostname/file.zip
http://hostname/file2.html
http://hostname/folder/file-in-folder.jpg
Run Code Online (Sandbox Code Playgroud)
为什么我的节点静态文件服务器丢弃请求? 参考一些神秘的
标准node.js静态文件服务器
如果没有这样的工具,我应该使用什么框架?
是否有一个超轻量级的文件服务器,我可以在我的Mac上用于开发?
我想象的是:
> cd somefolder
> run server
...running static file server at http://0.0.0.0:2343...
Run Code Online (Sandbox Code Playgroud)
它仅用于开发静态html/css/js/images - 无需外部连接.
我有应用程序用户的照片是私人的.我将照片(缩略图也)存储在AWS s3中.网站中有一个页面,用户可以在其中查看他的照片(即缩略图).现在我的问题是如何提供这些文件.我评估的一些选项是:
我无法评估这两个选项中哪一个是更好的选择?我想尽可能多地将工作重定向到S3或cloudfront,但即使使用了singed url也会首先向我的服务器发出请求.我也想要缓存功能.
那么理想的做法是什么?有关这些方法的特定问题的答案?
我正在尝试创建一个嵌入式jetty服务器,其中包含一个服务于某些动态数据的自定义servlet,以及将为某些图像提供服务的默认servlet.我有自定义servlet工作,但我无法弄清楚如何添加默认servlet来提供图像文件.
这就是我所拥有的......
private void setUpServer(ServerOptions options){
s = new Server(options.getPort());
this.options = options;
context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
s.setHandler(context);
context.addServlet(new ServletHolder(new DataServlet()), "/data/*");
context.addServlet(new ServletHolder(new DefaultServlet()), "/pictures/*");
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何配置DefaultServlet作为文件服务器,仍然有自定义DataServelet仍然工作.
有没有人有任何想法?
目前我有一个应用程序从我的Web应用程序接收上传的文件.我现在需要将该文件传输到恰好位于同一网络上的文件服务器(但事实并非总是如此).
我试图在C#.NET中使用webclient类.
string filePath = "C:\\test\\564.flv";
try
{
WebClient client = new WebClient();
NetworkCredential nc = new NetworkCredential(uName, password);
Uri addy = new Uri("\\\\192.168.1.28\\Files\\test.flv");
client.Credentials = nc;
byte[] arrReturn = client.UploadFile(addy, filePath);
Console.WriteLine(arrReturn.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
位于192.168.1.28的计算机是文件服务器,共享c:\ Files.截至目前,我收到登录失败的错误用户名或密码错误,但我可以打开资源管理器并输入该路径成功登录.我也可以使用远程桌面登录,所以我知道用户帐户有效.
有关此错误的任何想法?是否可以像这样直接传输文件?使用webclient类或者其他类?
我正在尝试将我的内容保存在非默认位置(例如in bower_components或/packages/../tools).作为实验的一部分,我正在尝试设置一个asp.net mvc 5应用程序,其中命中某个路径允许我浏览undersorejs包目录中的文件.
我有以下nuget包(除了默认值)
Install-Package underscore.js
Install-Package Microsoft.Owin.StaticFiles
Install-Package Microsoft.Owin.Host.SystemWeb
Run Code Online (Sandbox Code Playgroud)
这就是我在OWIN启动类中所拥有的
var fileSystem = new PhysicalFileSystem(
HttpContext.Current.Server.MapPath("~")+"/../packages/underscore.js.1.6.0"
);
var options = new FileServerOptions {EnableDirectoryBrowsing = true, FileSystem = fileSystem};
app.MapWhen(ctx =>
ctx.Request.Uri.AbsolutePath.StartsWith("/__underscore"),
ab => ab.UseFileServer(options)
);
Run Code Online (Sandbox Code Playgroud)
根据我的理解和以前的实验,这非常简单 - 当请求开始时/__underscore 使用简单的静态文件服务器.然而,当我走到/__underscore我得到404错误.
但是,放置断点我可以看到UseFileServer lambda在启动时执行一次,然后再也没有,同时在每个请求上调用谓词lambda(并返回正确的值).
我错过了什么?
我是node.js的新手我想创建一个简单的express.js静态文件服务器,但我有一些问题.我在全球范围内安装了express.js 4.2,如下所示:
npm install -g express-generator
Run Code Online (Sandbox Code Playgroud)
我在httpsrv.js中有这个代码:
var http = require('http');
var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
app.listen(3000, function() { console.log('listening')});
Run Code Online (Sandbox Code Playgroud)
我不确定是否可以,我想这还不够,但我无法运行它失败了,错误:找不到模块'express'.
我想创建一个简单的http服务器,可以从特定的文件夹("\ public"例如)服务,我使用的是.html语言.我在互联网上找到了很多废话,我不想使用这个.jade的东西,我不想用快递等创建一个空的web应用程序.我想要像Apache一样运行的express.js http服务器首先从指定的文件夹提供静态html页面.任何人都可以帮我这个,建议一篇好文章,一步一步解释,因为我是初学者.
我有一个管理类型系统,用于具有多个Web服务器的网站,用户可以在其中配置页面并上传图像以显示在页面上(类似于CMS).如果您已经有一个具有副本集设置的MongoDB实例,那么存储这些上载的首选方法是什么,以便存在故障转移,为什么?
我现在使用#2就好了,并且在没有故障转移之前使用了#3.如果我使用MongoDB作为我网站的数据存储和服务图像,这些对图像的GET请求是否会影响从数据库中获取非图像数据的性能?
我无法使用go-http-auth对http.FileServer进行基本身份验证.
package main
import (
"fmt"
"log"
"net/http"
"github.com/abbot/go-http-auth"
)
func Secret(user, realm string) string {
users := map[string]string{
"john": "$1$dlPL2MqE$oQmn16q49SqdmhenQuNgs1", //hello
}
if a, ok := users[user]; ok {
return a
}
return ""
}
func doRoot(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<h1>static file server</h1><p><a href='./static'>folder</p>")
}
func handleFileServer(w http.ResponseWriter, r *http.Request) {
fs := http.FileServer(http.Dir("static"))
http.StripPrefix("/static/", fs)
}
func main() {
authenticator := auth.NewBasicAuthenticator("localhost", Secret)
// how to secure the FileServer with basic authentication??
// fs := http.FileServer(http.Dir("static")) …Run Code Online (Sandbox Code Playgroud) 我有两台服务器用于网站.一台服务器将拥有php代码和数据库,另一台服务器将只有较低速度的服 我需要以一种方式实现这些,即通过网站上传的文件必须存储在另一台服务器上,然后才能从那里下载.
谁能建议我实现这一目标的最佳方式.我知道文件可以通过网站上传后通过PHP的FTP功能转移到另一台服务器,但似乎没有正确的方法.
或者两个服务器可以用于静态媒体内容,如仅图像.
谢谢