正在将图像上传到 Windows 服务器并公开它们
Uploading images to Windows Server and making them available publicly
我正在尝试在我的 windows 服务器 VM 中上传图像“托管在本地”,并像 www.example.com/imageFolder/cat.png 一样公开这些图像。
此 VM 启用了 IIS(我不确定 IIS 是否与此处相关)并且分配了 URL 并公开可用。
除了任何编程语言或框架之外,我只想知道是否可以将图像存储在服务器中并通过 link 使其可用?如果是这样,我该如何实现?
进一步澄清:
我相信我想要的是非常简单和乏味的。
考虑以下工作流程:
- 运行 具有端点以在服务器上接收图像的 API。
- 将消息存储在服务器中。
- Return指向图片的link。
我想知道 windows 服务器端的过程,例如
- 我是否需要在存储图像的文件夹上设置某些属性?
- 我需要添加一个站点来向用户显示图像吗?
我是一名开发人员,我是 Windows 服务器和 IIS 的新手,所以我可能不具备所有基础知识。
我使用 ASP.NET MVC5 制作了一个示例。您可以按照本文在 MVC5 应用程序中上传图像。
Upload Images on Server Folder Using ASP.NET MVC
然后,我做了一些改动,让它可以显示url的图片..
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
Uri requestUri = HttpContext.Request.Url;
string baseUrl = requestUri.Scheme + Uri.SchemeDelimiter + requestUri.Host + (requestUri.IsDefaultPort ? "" : ":" + requestUri.Port);
if (ModelState.IsValid)
{
try
{
if (file != null)
{
string path = Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(file.FileName));
file.SaveAs(path);
}
string link = baseUrl + "/Images/" + file.FileName;
ViewBag.FileStatus = "File uploaded successfully.";
//Return the url of image
ViewBag.FileLink = link;
}
catch (Exception e)
{
ViewBag.FileStatus = "Error while file uploading. Error message is "+e.Message;
}
}
return View("Index");
}
Index.cshtml 添加这个以显示 url.
<div class="col-md-offset-2 col-md-10 text-success">
@ViewBag.FileLink
</div>
不要忘记添加一个名为Images 的文件夹来存储图像。发布后,还需要将其添加到发布的文件夹中,否则会提示找不到文件夹的错误信息。
效果很好。
我正在尝试在我的 windows 服务器 VM 中上传图像“托管在本地”,并像 www.example.com/imageFolder/cat.png 一样公开这些图像。
此 VM 启用了 IIS(我不确定 IIS 是否与此处相关)并且分配了 URL 并公开可用。
除了任何编程语言或框架之外,我只想知道是否可以将图像存储在服务器中并通过 link 使其可用?如果是这样,我该如何实现?
进一步澄清:
我相信我想要的是非常简单和乏味的。
考虑以下工作流程:
- 运行 具有端点以在服务器上接收图像的 API。
- 将消息存储在服务器中。
- Return指向图片的link。
我想知道 windows 服务器端的过程,例如
- 我是否需要在存储图像的文件夹上设置某些属性?
- 我需要添加一个站点来向用户显示图像吗?
我是一名开发人员,我是 Windows 服务器和 IIS 的新手,所以我可能不具备所有基础知识。
我使用 ASP.NET MVC5 制作了一个示例。您可以按照本文在 MVC5 应用程序中上传图像。 Upload Images on Server Folder Using ASP.NET MVC
然后,我做了一些改动,让它可以显示url的图片..
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
Uri requestUri = HttpContext.Request.Url;
string baseUrl = requestUri.Scheme + Uri.SchemeDelimiter + requestUri.Host + (requestUri.IsDefaultPort ? "" : ":" + requestUri.Port);
if (ModelState.IsValid)
{
try
{
if (file != null)
{
string path = Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(file.FileName));
file.SaveAs(path);
}
string link = baseUrl + "/Images/" + file.FileName;
ViewBag.FileStatus = "File uploaded successfully.";
//Return the url of image
ViewBag.FileLink = link;
}
catch (Exception e)
{
ViewBag.FileStatus = "Error while file uploading. Error message is "+e.Message;
}
}
return View("Index");
}
Index.cshtml 添加这个以显示 url.
<div class="col-md-offset-2 col-md-10 text-success">
@ViewBag.FileLink
</div>
不要忘记添加一个名为Images 的文件夹来存储图像。发布后,还需要将其添加到发布的文件夹中,否则会提示找不到文件夹的错误信息。
效果很好。