我正在使用c#
在asp.net MVC4中完成我的项目我正在尝试选择照片并将该图像保存在文件夹中,
为此我有一个html Begin表单
@using (Html.BeginForm("ImageReplace", "Member", new { imgid = @Model.Id }, FormMethod.Post,new { enctype = "multipart/form-data" }))
{
<input type="text" name="fake_section" class="fake_section"><button class="fake_section">Choose Photo</button>
<input type="file" style="display:none;" name="file" id="file" value="Choose Photo" accept="image/png,image/jpeg" />
<input type="submit" name="submit" value="Submit" />
}
我还有一个控制器
public ActionResult ImageReplace(HttpPostedFileBase file,int imgid)
{
......
}
为了样式化和验证表单(只选择gif和jpeg文件),我使用以下jquery
$('.fake_section').click(function (e) {
e.preventDefault();
$('#file').trigger('click');
});
$('#file').change(function (e) {
var filename = $(this).val();
var ext = filename.split('.').pop().toLowerCase();
if ($.inArray(ext, ['gif', 'jpg', 'jpeg']) == -1) {
alert('not valid!');
}
else {
$('input[name="fake_section"]').val(filename);
}
});
我的问题是点击选择照片时直接转到控制器操作而不选择照片
答案 0 :(得分:3)
我认为缺少按钮类型。 看看这个jsFiddle:http://jsfiddle.net/CJf9f/
<button class="fake_section" type="button">Choose Photo</button>