如何使用Xhr请求文件在Mvc4中获取控制器中的图像文件计数 [英] How Can I Get The Image File Count In Controller In Mvc4 Using Xhr Request File
本文介绍了如何使用Xhr请求文件在Mvc4中获取控制器中的图像文件计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的表格
this is my form
<div style="text-align:center;">
@Html.DropDownList("ddlbrand3", (SelectList)ViewBag.brandname, "Select Brand", new { Class = "dropdownlist mar", onchange = "getsegmentsell()" })
<select id="ddlsegment3" class="dropdownlist mar" onchange="getmodellist3()">
<option value='0'>select Segment</option>
</select>
<select id="ddlmodel3" class="dropdownlist mar">
<option value='0'>select Model</option>
</select>
@Html.DropDownList("ddlmakeyear", (SelectList)ViewBag.makeyear, "Select Make Year", new { Class = "dropdownlist mar" })
@Html.DropDownList("ddlkilometerdri", (SelectList)ViewBag.kilometerdriven, "Kilo Meter Driven", new { Class = "dropdownlist mar" })
@Html.DropDownList("ddlnoofowner", (SelectList)ViewBag.noofowner, "Owner(Number of RTO Transfers)", new { Class = "dropdownlist mar" })
<input class="dropdownlist mar" id="txtregisid" name="RegNo" type="text" placeholder="Registration No. Ex(MH 06 KL 5890)" />
<span id="validregno" style="display:none;color:red;font-size:10px;">Invalid Registration No</span>
<br />
@Html.DropDownList("ddlregistrationplace", (SelectList)ViewBag.regisplce, "Registration Place", new { Class = "dropdownlist mar" })
<br />
<input class="dropdownlist mar" id="txtexpectedprice" name="Price" type="text" placeholder="Expected Price" />
<br />
<span id="spanprice" style="display:none;color:red;font-size:11px;">Invalid Price</span>
<span style="font-size: 12px;color: rgb(0, 56, 202); padding-removed148px;">Upload Vehicle Photo</span>
<input class="dropdownlist mar multi" style="margin-bottom: 19px;" id="fileupload1" type="file" name="file1" placeholder="Upload Photos" />
@if (Session["UID"] != null)
{
}
else
{
@Html.DropDownList("ddlusertpes", (SelectList)ViewBag.usertypes, "AD Listing By", new { Class = "dropdownlist mar", Style = "margin-bottom: 18px;" })
}
<center>
@*<p class="btnViewAll"><a href="#">Sell Your Vehicle Now</a></p>*@
<input type="button" onclick="postvehicle()" value="Sell Your Vehicle Now" class="btn-primary btn-block" style="height: 39px;font-family: verdana;width: 90%;font-size: 15px;">
</center>
</form>
</div>
-------- --end -------------------------
----------end-------------------------
ajax功能-------------------------------
ajax function-------------------------------
<pre lang="cs">var myUrl = '@Url.Action("NewPosting", "HOME")';
var brand_id = $("#ddlbrand3").val();
var Segment_id = $("#ddlsegment3").val();
var Model_id = $("#ddlmodel3").val();
var makeyear_id = $("#ddlmakeyear").val();
var kilometer_id = $("#ddlkilometerdri").val();
var Noofowner_id = $("#ddlnoofowner").val();
var registration_id = $("#txtregisid").val();
var registration_place = $("#ddlregistrationplace :selected").text();
var plc_id = $("#ddlregistrationplace").val();
var expected_price = $("#txtexpectedprice").val();
if (brand_id == "" || Segment_id == "" || Model_id == "" || makeyear_id == "" || kilometer_id == "" || Noofowner_id == "" || registration_id == "" || plc_id == "" || expected_price == "") {
alert("Please Fill All Details");
} else {
//var role = $("#ddlusertpes").val();
if (expected_price > 2500000 || expected_price < 100000) {
alert("Expected Price Range Should Be 100000/- to 2500000/-");
return false;
} else {
//var fffff = new FormData();
var formdata = new FormData();
var imagefile = document.getElementById('fileupload1');
for (i = 0; i < imagefile.files.length; i++) {
formdata.append(imagefile.files[i].name, imagefile.files[i]);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', myUrl);
xhr.setRequestHeader('Content-type', 'multipart/form-data');
//Appending file information in Http headers
xhr.setRequestHeader('X-File-Name', imagefile.files[0].name);
xhr.setRequestHeader('X-File-Type', imagefile.files[0].type);
xhr.setRequestHeader('X-File-Size', imagefile.files[0].size);
xhr.setRequestHeader('X-File-brandid', brand_id);
xhr.setRequestHeader('X-File-segmentid', Segment_id);
xhr.setRequestHeader('X-File-Model_id', Model_id);
xhr.setRequestHeader('X-File-makeyear_id', makeyear_id);
xhr.setRequestHeader('X-File-kilometer_id', kilometer_id);
xhr.setRequestHeader('X-File-Noofowner_id', Noofowner_id);
xhr.setRequestHeader('X-File-registration_id', registration_id);
xhr.setRequestHeader('X-File-registration_place', registration_place);
xhr.setRequestHeader('X-File-place_id', plc_id);
xhr.setRequestHeader('X-File-expected_price', expected_price);
//Sending file in XMLHttpRequest
xhr.send(imagefile.files[0]);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
$("#ddlbrand3").prop('selectedIndex', 0);
$("#ddlsegment3").prop('selectedIndex', 0);
$("#ddlmodel3").prop('selectedIndex', 0);
$("#txtregisid").val("");
$("#regisiplace").val("");
$("#txtexpectedprice").val("");
var control = $("#fileupload1");
control.replaceWith(control = control.clone(true));
debugger;
//alert(xhr.responseText);
var Res = xhr.responseText.substring(1, xhr.responseText.length - 1);
if (Res == "success") {
alert("Your Vehicle Posting Will Display Within 24 hour.");
}
else if (Res == "Imagefileerror") {
alert("Only JPG, PNG and JPEG file Format will Accept");
} else if (Res == "redirect") {
registrationpop();
} else {
}
}
}
}
}
------------------这是我的控制器---------------------- -----------
------------------and this is my controller---------------------------------
string fileName = Request.Headers["X-File-Name"];
string fileType = Request.Headers["X-File-Type"];
string brandid = Request.Headers["X-File-brandid"];
string segmentid = Request.Headers["X-File-segmentid"];
string modelid = Request.Headers["X-File-Model_id"];
string makeyearid = Request.Headers["X-File-makeyear_id"];
string kilometerid = Request.Headers["X-File-kilometer_id"];
string noofownerid = Request.Headers["X-File-Noofowner_id"];
string registrationid = Request.Headers["X-File-registration_id"];
string registrationplace = Request.Headers["X-File-registration_place"];
string expectedprice = Request.Headers["X-File-expected_price"];
string placeid = Request.Headers["X-File-place_id"];
System.IO.Stream fileContent = Request.InputStream;
string Fnameextention = fileName;
string[] splitter = Fnameextention.Split('.');
string name = splitter[0].ToString();
name = GenerateRandomString(6);
string extention = splitter[1].ToString();
//Creating a FileStream to save file's content
System.IO.FileStream fileStream = System.IO.File.Create(Server.MapPath("~/IMAGES/") + name + '.' + extention);
fileContent.CopyTo(fileStream);
fileStream.Dispose();
string[] validCodes = new string[] { "png", "jpg", "jpeg", "JPEG", "JPG", "PNG" };
if (!validCodes.Contains(extention))
{
Result = "Imagefileerror";
}
else
{
string savedFileName = "/IMAGES/" + name + '.' + extention;
ListingHandler objlistinghandler = new ListingHandler();
ListingImageHandler objListingImageHandler = new ListingImageHandler();
Listing_Entity objListing_Entity = new Listing_Entity();
Listing_Image_Entity objListing_Image_Entity = new Listing_Image_Entity();
objListing_Entity.User_Id = Convert.ToInt64(userid);
objListing_Entity.Brand_Id = Convert.ToInt64(brandid);
objListing_Entity.Segment_Id = Convert.ToInt64(segmentid);
objListing_Entity.Model_Id = Convert.ToInt64(modelid);
objListing_Entity.Make_Year_Id = Convert.ToInt64(makeyearid);
objListing_Entity.Kilo_Meter_Id = Convert.ToInt64(kilometerid);
objListing_Entity.Number_Of_Owner_Id = Convert.ToInt64(noofownerid);
objListing_Entity.Registration_No = registrationid;
objListing_Entity.Registration_Place = registrationplace;
objListing_Entity.Expected_Price = expectedprice;
objListing_Entity.PLACE_ID = Convert.ToInt64(placeid);
objListing_Entity.Approval = 0;
Int64 id = objlistinghandler.Add_Listing(objListing_Entity);
objListing_Image_Entity.Listing_Id = id;
objListing_Image_Entity.Image_Url = savedFileName;
objListingImageHandler.Add_Image(objListing_Image_Entity);
Result = "success";
推荐答案
( #ddlbrand3跨度>)VAL();
var Segment_id =
("#ddlbrand3").val(); var Segment_id =
( #ddlsegment3\" 跨度>)VAL();
var Model_id =
("#ddlsegment3").val(); var Model_id =
( #ddlmodel3\" 跨度>)VAL();
var makeyear_id =
("#ddlmodel3").val(); var makeyear_id =
这篇关于如何使用Xhr请求文件在Mvc4中获取控制器中的图像文件计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文