私は応募者のためのジョブアプリケーションのフォームを持っています。フォームでは、人々は自分のCVとカバーレターをアップロードすることもできます。Dropzone JsのすべてのアップロードIDを配列またはJSONのセットで取得します。
私はDropzoneを使って複数のファイル(CVとカバーレター)をアップロードします。そして、配列やjsonにアップロードされたIDのセットを取得したい。私はここで仕事のアプリケーションフォームを
var idResult = "";
Dropzone.options.uploadDemo = {
maxFilesize: 5, //accept file size 5MB
paramName: "file", // The name that will be used to transfer the file
acceptedFiles: ".pdf,.doc,.docx,.docm,.docb,.dotx,.dotm", //acccept file extension
addRemoveLinks: true,
init: function() {
this.on("success", function (data) {
console.log(data);
console.log(data.xhr.response);
$('#@Html.IdFor(x=>x.Applicant.UploadIds)').val(data.UploadIds);
});
を関係を作成するためにそれを使用できるように、私のコントローラである
[HttpPost]
[Route("Career/SaveUploadedFile")]
public ActionResult SaveUploadedFile()
{
try
{
string uploadId = string.Empty;
foreach (string fileName in Request.Files)
{
HttpPostedFileBase file = Request.Files[fileName];
//Save file content goes here
if (file != null && file.ContentLength > 0)
{
var originalDirectory = new DirectoryInfo(string.Format("{0}Upload\\Document", Server.MapPath(@"\")));
string pathString = System.IO.Path.Combine(originalDirectory.ToString(), "file");
var fileName1 = Path.GetFileName(file.FileName);
bool isExists = System.IO.Directory.Exists(pathString);
if (!isExists)
System.IO.Directory.CreateDirectory(pathString);
var path = string.Format("{0}\\{1}", pathString, file.FileName);
file.SaveAs(path);
var upload = TTCHRFacade.CreateUpload(new Upload()
{
FileName = file.FileName,
FileSize = file.ContentLength,
FileExtention = file.ContentType,
GUIDFileName = Guid.NewGuid().ToString(),
UploadDate = DateTime.Now
});
uploadId += upload.UploadId.ToString() + ",";
//return PartialView("ApplicantUploadTemplate", upload);
}
else
{
// Set as bad request (400)
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
ModelState.AddModelError("error", "Need Files.");
return Json(ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage);
}
}
return Json(new { uploadId }, JsonRequestBehavior.AllowGet); //TODO
}
catch (Exception ex)
{
// Set as bad request (400)
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return Json(ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage);
}
}
注:アプリケーションフォームとフォームをアップロード同じビューに
感謝していますあなたは事前に。代わりに、単一のIDの
'data.uploadId'を同上の
のコレクションを返す必要がありますすべきあなたに新しいIDを教えてください。 – Shyju
ええ。しかし、それはidの配列のセットではありません。 –
IDの配列を返すことができます。投稿された回答を参照してください。 – Shyju