Der Schlüssel zur Ansicht alle externen Dateien ist die Verknüpfung, und es richtig The View
@{
Layout = null;
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>UI Widget</title>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" type="text/css" />
<link rel="stylesheet" href="Scripts/js/jquery.ui.plupload/css/jquery.ui.plupload.css" type="text/css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<!-- production -->
<script type="text/javascript" src="Scripts/js/plupload.full.min.js"></script>
<script type="text/javascript" src="Scripts/js/jquery.ui.plupload /jquery.ui.plupload.js"></script>
</head>
<body style="font: 13px Verdana; background: #eee; color: #333">
<form id="form" method="post" action="">
<div id="uploader">
<p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
</div>
<br />
</form>
<script type="text/javascript">
// Initialize the widget when the DOM is ready
$(function() {
$("#uploader").plupload({
// General settings
runtimes: 'html5,flash,silverlight,html4',
//url: 'Scripts/upload.php',
url: 'Home/Upload',
// User can upload no more then 20 files in one go (sets multiple_queues to false)
max_file_count: 20,
chunk_size: '1mb',
// Resize images on clientside if we can
resize: {
width: 200,
height: 200,
quality: 90,
crop: true // crop to exact dimensions
},
filters: {
// Maximum file size
max_file_size: '1000mb',
// Specify what files to browse for
mime_types: [
{ title: "Image files", extensions: "jpg,gif,png" },
{ title: "Zip files", extensions: "zip" }
]
},
// Rename files by clicking on their titles
rename: true,
// Sort files
sortable: true,
// Enable ability to drag'n'drop files onto the widget (currently only HTML5 supports that)
dragdrop: true,
// Views to activate
views: {
list: true,
thumbs: true, // Show thumbs
active: 'thumbs'
},
// Flash settings
flash_swf_url: 'Scripts/js/Moxie.swf',
// Silverlight settings
silverlight_xap_url: 'Scripts/js/Moxie.xap'
});
// Handle the case when form was submitted before uploading has finished
$('#form').submit(function (e) {
// Files in queue upload them first
if ($('#uploader').plupload('getFiles').length > 0) {
// When all files are uploaded submit form
$('#uploader').on('complete', function() {
$('#form')[0].submit();
});
$('#uploader').plupload('start');
} else {
alert("You must have at least one file in the queue.");
}
return false; // Keep the form from submitting
});
});
</script>
Dann gibt es tut der Controller, was ich von dem Link bekommen habe, der von oben bereitgestellt wurde.
Homecontroller
using System;
using System.Web.Mvc;
namespace PluploadMVC4Demo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Upload()
{
for (int i = 0; i < Request.Files.Count; i++)
{
var file = Request.Files[i];
file.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "Uploads/" + file.FileName);
}
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
}
}
Sie benötigen einen Ordner namens Uploads an der Wurzel Dir hinzufügen, um die Dateien zu speichern. so sollte Ihre Dateistruktur in etwa so aussehen.
Das einzige Problem ist nun, wie die aktuelle Datei zu halten, die von über befreit alle vorhandenen Dateien mit dem gleichen Namen hochgeladen wurde.
So bekomme ich eine Down-Abstimmung ohne Erklärung warum ... – whisk