如何在mvc 4中将图像保存到文件夹中。
以下是代码:
<form method="post" class="form-horizontal" name="NewLabelform" enctype="multipart/form-data">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Add New Ticket</h4>
</div>
<div class="modal-body">
<p>
<span>Type:</span>
<select class="form-control" id="addtype">
<option value="1">Technical Issue</option>
<option value="2">Bug</option>
<option value="3">Feature Request</option>
<option value="4">Sales Question</option>
<option value="5">How To</option>
</select>
<span id="errortype" style="color: Red;"></span>
</p>
<p>
<span>Title:</span>
<input type="text" class="form-control" id="addTitle" />
<span id="errorTitle" style="color: Red;"></span>
</p>
<p>
<span>description:</span>
<textarea rows="4" cols="50" class="form-control" id="addDesc"></textarea>
<span id="errorDesc" style="color: Red;"></span>
</p>
<p>
<span>Importancy:</span>
<select class="form-control" id="addimportancy">
<option value="1">High</option>
<option value="2">Medium</option>
<option value="3">Low</option>
</select>
<span id="errorimportancy" style="color: Red;"></span>
</p>
<p>
<span>Attached Documents:</span>
<input type="file" name="fileuploader" class="form-control" id="fileuploader" />
<span id="errorAttach" style="color: Red;"></span>
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" onclick="CreateLabeData()">Create</button>
</div>
</form>
这是Ajax方法:
<script>
var $al = jQuery.noConflict();
function CreateLabeData() {
debugger
var errortype = document.getElementById('errortype');
var addtype = document.getElementById('addtype');
if (addtype.length == "0") {
errortype.innerHTML = "Type is required.";
addtype.focus();
return false;
}
else {
errortype.innerHTML = "";
}
var errorTitle = document.getElementById('errorTitle');
var addTitle = document.getElementById('addTitle');
if (addTitle.value == '') {
errorTitle.innerHTML = "Title is required.";
addTitle.focus();
return false;
}
else {
errorTitle.innerHTML = "";
}
var errorDesc = document.getElementById('errorDesc');
var addDesc = document.getElementById('addDesc');
if (addDesc.value == '') {
errorDesc.innerHTML = "Description is required.";
addDesc.focus();
return false;
}
else {
errorDesc.innerHTML = "";
}
var errorimportancy = document.getElementById('errorimportancy');
var addimportancy = document.getElementById('addimportancy');
if (addimportancy.length == "0") {
errorimportancy.innerHTML = "Importancy is required.";
addimportancy.focus();
return false;
}
else {
errorimportancy.innerHTML = "";
}
//var foldername = document.getElementById("fname").value;
var readdtype = document.getElementById('addtype').value;
var readdTitle = document.getElementById('addTitle').value;
var readdDesc = document.getElementById('addDesc').value;
var readdimportancy = document.getElementById('addimportancy').value;
//var fname = document.querySelector('input[type=file]').files[0].name;
//var doc = $al("#fileuploader").val();
//var filename = doc.replace(/^.*[\\\/]/, '');
//var formData = new FormData();
//var totalFiles = document.getElementById("fileuploader").files.length;
//for (var i = 0; i < totalFiles; i++) {
// var file = document.getElementById("fileuploader").files[i];
// formData.append("fileuploader", file);
//}
//formData.append("fileuploader", file);
$.ajax(
{
//url: "/Ticket/InsertTicket/",
url: '@Url.Content("~/TicketTemplate/InsertTicket")',
type: "POST",
cache: false,
async: true,
datatype: "json",
contentType: 'application/json; charset=utf-8',
//data: JSON.stringify({ 'Addtype': readdtype, 'AddTitle': readdTitle, 'AddDesc': readdDesc, 'Addimportancy': readdimportancy, 'FileName': filename,' FormData': formData }),
data: JSON.stringify({ 'Addtype': readdtype, 'AddTitle': readdTitle, 'AddDesc': readdDesc, 'Addimportancy': readdimportancy }),
success: function (result) {
debugger;
if (result.isSuccess) {
window.location.reload(true);
}
else {
alert('!');
}
},
error: function (result) {
debugger;
alert('');
}
});
}
这是控制器:
public ActionResult InsertTicket(HttpPostedFileBase FileName, string Addtype, string AddTitle, string AddDesc, string Addimportancy, string FormData)
//public ActionResult InsertTicket( string Addtype, string AddTitle, string AddDesc, string Addimportancy)
{
string isSuccess = "0";
AppTicket models;
AppTicket model = new AppTicket();
model.Type = Convert.ToInt32(Addtype);
model.Title = Convert.ToString(AddTitle);
model.Description = Convert.ToString(AddDesc);
model.Importancy = Convert.ToInt32(Addimportancy);
//obj.Title = Convert.ToString(AddTitle);
int CompanyId = 1;
int status = 1;
//if (FileName != null)
//{
// string saveto = string.Empty;
// // var File = FileName;
// //saveto = Path.Combine(Server.MapPath("~/Content/Areas/Ticket/Content"), FileName);
// // File.SaveAs(saveto);
//}
//var file = Request.Files;
////string saveto = string.Empty;
//string name = string.Empty;
//if (Request.Files.Count > 0)
//{
// var File = Request.Files[0];
// Random rnd = new Random();
// name = rnd.Next(111, 9999).ToString() + "_" + System.IO.Path.GetFileName(File.FileName);
// saveto = Path.Combine(Server.MapPath("~/Content/Areas/Ticket/Content"), name);
// File.SaveAs(saveto);
// // Session["File"] = name;
// Session["File"] = saveto;
//}
Int64? res = _apiTicket.Posts(model.Title, (model.Type), model.Description, (model.Importancy), "", (UserId), CompanyId, false, status);
if (res > 0)
{
isSuccess = "1";
}
return Json(isSuccess, JsonRequestBehavior.AllowGet);
}
如何将上传的文件保存在文件夹中?
我已经尝试了很多,但这对我不起作用......任何建议??
在模型弹出窗口中,我需要显示包含所有这些组件的表单。
点击保存时,需要在db。中保存文件夹和名称。
但它不起作用?
所以任何人都可以尝试或给我一些解决方案吗?