求教:asp.net core网站打包为docker镜像之后,上传文件失败

g4_magicvr 2018-10-19 05:29:59
上传的代码很简单:
页面部分(asp.neyt core自带的razor页面):

<form method="post" enctype="multipart/form-data" class="box box-default">
<div class="box-header with-border">
<i class="fa fa-text-width"></i>
<h3 class="box-title">上传需要识别的录音</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="form-group">
<label>上传录音文件:</label>
<input id="input-file" type="file" asp-for="UploadFile" />
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-link"></i> 识别</button>
</div>
<!-- /.box-footer -->
</form>


接收部分:

public class TestModel : PageModel
{

public string Error { get; set; }

[BindProperty]
public IFormFile UploadFile { get; set; }

public void OnGet()
{

}

public IActionResult OnPost()
{
string path = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "upload-test.mp3");
if (UploadFile == null)
{
Error = "请选择所要上传的音频文件";
}
else
{
List<string> allowTypes = new List<string> { "audio/wav", "audio/mp3" };
if (!allowTypes.Contains(UploadFile.ContentType))
{
Error = string.Format("演示程序只能上传wav和mp3文件"
, string.Join("、", allowTypes.ConvertAll(x => x.Replace("audio/", ""))));
}
else
{
System.IO.Stream stream = UploadFile.OpenReadStream();
byte[] t = new byte[UploadFile.Length];
stream.Read(t, 0, (int)UploadFile.Length);
System.IO.File.WriteAllBytes(path, t);
UploadFile = null;
Error = null;
}
}
return Page();
}
}


直接运行(包括发布为文件,然后到目录下用命令行直接执行 dotnet test.dll)时,上传文件是没有任何问题。
然后我把发布好的项目发布为docker镜像之后,在docker里面运行的网站却没有办法上传文件(其他功能正常)。
试图上传文件时候返回一个404的错误提示

Dockerfile的内容为:

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
EXPOSE 5000 5001
COPY ./publish .
ENTRYPOINT ["dotnet", "test.dll"]


打包命令为:
docker build -t test/test .


求教各位,问题可能是出在什么地方?
...全文
414 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
g4_magicvr 2018-10-22
  • 打赏
  • 举报
回复
引用 1 楼 andywangguanxi 的回复:
是否对目录具有写权限
- -这个必然是有的
EdsionWang 2018-10-19
  • 打赏
  • 举报
回复
是否对目录具有写权限

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧