0
我有一個表格和一個上傳(我使用PLUploader),並希望用戶填寫文本框和選擇圖像在PLUploader中,當點擊提交按鈕,我通過圖像和textboxs價值的一個動作,我寫這篇文章的代碼,但alwaye我得到textboxs null值,但在行動中獲得的圖像,我覺得這個問題要撥打與形式和PLuploader的一個動作相關,傳遞上傳文件和形式提交值的一個動作在asp.net mvc
public ActionResult Insert(News news, HttpPostedFileBase file)
{
// i get null in new but get file in HttpPostedFileBase
int result = 0;
HttpPostedFileBase FileData = Request.Files[0];
string fileName = null;
fileName = Path.GetFileName(FileData.FileName);
if (ModelState.IsValid)
{
//do some thing
}
else
{
return View(news);
}
}
@using (Html.BeginForm("Insert", "News", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="col-xs-12">
@Html.LabelFor(model => model.NewsTitle)
@Html.TextBoxFor(model => model.NewsTitle, new { @class = "form-control",@name="title" })
@Html.ValidationMessageFor(model => model.NewsTitle)
</div>
<div class="col-xs-12">
<div id="uploader" class="img-plc">
<p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p>
</div>
<ul id="gallery"></ul>
</div>
<div class="col-xs-12">
@Html.LabelFor(model => model.NewsText, new { @class = "text-right" })
@Html.ValidationMessageFor(model => model.NewsText)
@Html.TextAreaFor(model => model.NewsText, new { @rows = "10", @cols = "80", @class = "text-editor", @name = "title" })
</div>
<button type="submit">Submit</button>
}
var uploader = $("#uploader").pluploadQueue({
// General settings
runtimes: 'html5,gears,flash,silverlight,browserplus,html4',
url: '@Url.Action("Insert", "News")',
max_file_size: '10mb',
chunk_size: '1mb',
unique_names: true,
multi_selection: false,
multiple_queues: false,
// Specify what files to browse for
filters: [
{ title: "Image files", extensions: "jpg,png" }
],
// Flash settings
flash_swf_url: '/Scripts/Moxie.swf',
// Silverlight settings
silverlight_xap_url: '/Scripts/Moxie.xap'
})
$('form').submit(function (e) {
var uploader = $('#uploader').pluploadQueue();
// Files in queue upload them first
if (uploader.files.length > 0) {
// When all files are uploaded submit form
uploader.bind('StateChanged', function() {
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
$('form')[0].submit();
}
});
uploader.start();
} else {
alert('You must queue at least one file.');
}
return false;
});
如何我可以修復這個? 我想要得到的消息和文件在這個動作
謝謝
感謝您的回放,你能告訴我示例代碼嗎? –