asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 – 拖放,预览和预览上传的图像
发布时间:2020-09-05 12:33:19 所属栏目:asp.Net 来源:互联网
导读:HTML: script src=~/Scripts/jquery-1.9.1.js/scriptscript src=~/Scripts/DropZone-2.0.1.js/scriptscript src=~/Scripts/angular.js/scriptscript src=~/App_Angular/app.js/script
|
HTML: <script src="~/Scripts/jquery-1.9.1.js"></script> <script src="~/Scripts/DropZone-2.0.1.js"></script> <script src="~/Scripts/angular.js"></script> <script src="~/App_Angular/app.js"></script> <div ng-app ="myApp" ng-controller ="ProductsCtrl"> <input ng-model="product.Name"/> <input ng-model="product.PhotoName" id="result" /> <form id="dropzone" class="fade well">Drop files here</form> <input type="button" value="Upload Files" ng-click="save(product)" /> 使用Javascript: $("#dropzone").dropzone({
url: 'Home/UploadFiles',paramName: "files",// The name that will be used to transfer the file
maxFilesize: 102,// MB
enqueueForUpload: false,accept: function (file,done) {
angular.element(document.getElementById('result')).scope()
.$apply(function (scope) {
scope.product.PhotoName = $('#result').val();
});
return done();
}
});
function uploadClicked() {
var dz = Dropzone.forElement("#dropzone");
for (var i = 0; i < dz.files.length; i++) {
dz.filesQueue.push(dz.files[i]);
}
dz.processQueue(dz);
$('#innerQue').empty();
}
在ng-click中调用save方法时,我已成功将照片名称传递给$scope.product.PhotoName. 我无法上传图片.我不知道如何从角度调用’uploadClicked’. 任何援助将不胜感激. 解决方法解决了(在Mark Rajcok的帮助下).完整解决方案 HTML: <script src="~/Scripts/jquery-1.9.1.js"></script> <script src="~/Scripts/DropZone-2.0.1.js"></script> <script src="~/Scripts/angular.js"></script> <script src="~/App_Angular/app.js"></script> <div ng-app ="myApp" ng-controller ="ProductsCtrl"> <input ng-model="product.Name"/> <input ng-model="product.PhotoName" id="result" /> <form id="dropzone" class="fade well">Drop files here</form> <input type="button" value="Upload Files" ng-click="save(product)" /> </div> 使用Javascript: $("#dropzone").dropzone({
url: 'Home/UploadFiles',done) {
angular.element(document.getElementById('result')).scope()
.$apply(function (scope) {
scope.product.PhotoName = $('#result').val();
});
return done();
}
});
function uploadClicked() {
var dz = Dropzone.forElement("#dropzone");
for (var i = 0; i < dz.files.length; i++) {
dz.filesQueue.push(dz.files[i]);
}
dz.processQueue(dz);
$('#innerQue').empty();
}
在这里修改dropzone.js: addedfile: function (file) {
file.previewTemplate = createElement(this.options.previewTemplate);
this.previewsContainer.appendChild(file.previewTemplate);
rem out --> //file.previewTemplate.querySelector(".filename span").textContent = file.name;
add this --> return ($('input[id=result]').val(file.name));
AngularController: function ProductsCtrl($scope,$routeParams,$http,$location) {
$scope.products = [];
$scope.product = {};
$scope.save = function (data) {
$scope.product = angular.copy(data);
$http.post('/api/Products',$scope.product)
.success(function () {
window.uploadClicked(); <---------------------- Solution
})
.error(function (data) {
// alert(data);
});
};
向MVC开发者增加奖励: public ActionResult UploadFiles(IEnumerable<HttpPostedFileBase> files)
{
//Works in Everything and IE10+**
if (!string.IsNullOrEmpty(Request.Headers["X-File-Name"]))
{
string path = Server.MapPath(string.Format("~/Uploads/{0}",Request.Headers["X-File-Name"]));
Stream inputStream = Request.InputStream;
FileStream fileStream = new FileStream(path,FileMode.OpenOrCreate);
inputStream.CopyTo(fileStream);
fileStream.Close();
}
} (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC如何在生产中禁用调试路由/视图
- 受asp.net MVC启发的更好的WebForms
- 在ASP.Net MVC中禁用会话状态每请求
- asp.net – 选择框更改事件中的setTimeout
- 什么是使用aspnet_compiler.exe预编译ASP.NET项目的优势?
- asp.net-mvc – ASP.NET MVC中的代码
- asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法
- asp.net – 实体框架CTP5,代码优先.可选的导航属性
- asp.net-mvc – asp.net mvc 4从控制器按钮调用方法
- asp.net-mvc – Windows 8 VS2012 IISExpress Windows身份验
推荐文章
站长推荐
- asp.net-mvc – AntiXss保护Html模型属性
- 将ASP.NET身份与核心域模型分离 – 洋葱架构
- asp.net-mvc – 使用输出缓存和其他动作过滤器
- asp.net-mvc – 如何阻止用户在MVC3应用程序上登
- asp.net – 脚本标签和链接标签进入asp:内容或外
- asp.net-mvc – MVC会话过期而不是身份验证
- asp.net – 经过身份验证的服务不支持跨域javasc
- asp.net-mvc – 在Asp.Net MVC中使用千位分隔符的
- asp.net-mvc – 在asp.net mvc 3剃刀中识别html助
- asp.net – 如何从复选框列表中获取最新的选定值
热点阅读
