我遇到了一种非常奇怪的行为。我正在做一个简单的ASP .NET应用程序,它将文件上传到服务器。 我有一个简单的形式:
<form class="form-horizontal" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="files" class="col-md-3 col-sm-4 control-label">Bestand *</label>
<div class="col-md-9 col-sm-8" ">
<input name="file" type="file" id="file" required />
<span >@ViewBag.TheMessage</span>
</div>
</div>
<div class="form-group">
<div class="col-md-9 col-sm-8 col-md-push-3 col-sm-push-4">
<input type="submit" class="btn btn-primary" value="Versturen" />
</div>
</div>
</form>
POST发生了奇怪的事情,这次POST的10次中有9次发送到test.com而不是localhost。我用萤火虫闻了闻来发现这个。萤火虫看起来像这样:
Controller.cs看起来像这样,当到达帖子时它正常工作:
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
ViewBag.TheMessage = "Thanks, an e-mail will be sent shortly";
if (file.ContentLength > 0)
{
ViewBag.Message = "Your application description page.";
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
return View();
}
另一个奇怪的事情是,如果我只使用空格式的cshtml文件:
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit"/>
POST每次都很好。 感谢。
答案 0 :(得分:3)
检查您是否有任何更改表单操作属性的Javascript。我将首先查看onload,onsubmit或提交按钮onclick方法。如果您正在使用jquery,请务必检查您的$(document).ready ()
功能。这真的可以在你的js中的任何地方,所以确保你到处寻找。
另一个罪魁祸首可能是你的html中有一个类似于<base href="http:www.test.com />
的基本标记,它会改变你所有的相对网址去基础位置