Javascript FileAPI使用它上载和裁剪图像
我一直在寻找允许代理在上传或保存到我们的服务器之前上传和裁剪到那里 我想知道是否有人能帮我买一些关于它的信息。我做了一些研究,因为我们的一些用户仍在使用IE8,我需要能够使用其中一个flash,但对于某些移动用户,flash不能使用。如果我的理解是正确的,我发现了一种叫做fileAPI的东西,我可以在旧浏览器和新浏览器(包括移动设备)中使用它 我的主要问题是,因为没有太多的文档,或者我没有正确理解文档,如果有人能用外行的术语为我解释一下,请 到目前为止,我的一些代码是:Javascript FileAPI使用它上载和裁剪图像,javascript,html,flash,fileapi,Javascript,Html,Flash,Fileapi,我一直在寻找允许代理在上传或保存到我们的服务器之前上传和裁剪到那里 我想知道是否有人能帮我买一些关于它的信息。我做了一些研究,因为我们的一些用户仍在使用IE8,我需要能够使用其中一个flash,但对于某些移动用户,flash不能使用。如果我的理解是正确的,我发现了一种叫做fileAPI的东西,我可以在旧浏览器和新浏览器(包括移动设备)中使用它 我的主要问题是,因为没有太多的文档,或者我没有正确理解文档,如果有人能用外行的术语为我解释一下,请 到目前为止,我的一些代码是: <%@ Page
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="localhost" secure="false"/>
<allow-access-from domain="*localhost" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>test fileAPI uploader</title>
<link href="css/colorbox.css" rel="stylesheet"/>
<script src="jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="/js/FileAPI.min.js"></script>
<script>
var FileAPI = {
// @default: "./dist/"
staticPath: '/js/',
// @default: FileAPI.staticPath + "FileAPI.flash.swf"
flashUrl: '/statics/FileAPI.flash.swf',
// @default: FileAPI.staticPath + "FileAPI.flash.image.swf"
flashImageUrl: '/statics/FileAPI.flash.image.swf'
};
</script>
<script>
window.FileAPI = {
debug: false, // debug mode, see Console
cors: false, // if used CORS, set `true`
media: false, // if used WebCam, set `true`
staticPath: '/js/FileAPI/dist', // path to '*.swf'
postNameConcat: function (name, idx) {
// Default: object[foo]=1&object[bar][baz]=2
// .NET: https://github.com/mailru/FileAPI/issues/121#issuecomment-24590395
return name + (idx != null ? '[' + idx + ']' : '');
}
};
</script>
</head>
<body>
<%--<form name="userpic" class="upload">--%>
<div class="uploader">
<!-- "js-fileapi-wrapper" -- required class -->
<div class="js-fileapi-wrapper upload-btn" id="choose">
<div class="upload-btn__txt">Choose files</div>
<input name="files" type="file" />
</div>
<div class="buttons">
<div class="okUpload"></div>
<input name="buttonOk" type="button" Value="Ok" />
<input name="buttonCancel" type="button" value="Cancel"/>
</div>
<div id="images"><!-- previews --></div>
</div>
<%--</form>--%>
</body>
<script type="text/javascript">window.FileAPI = { staticPath: '/jquery/FileAPI/dist/' };</script>
<script src="jquery/FileAPI/dist/FileAPI.min.js"></script>
<script>
FileAPI.event.on(choose, 'change', function (evt) {
var files = FileAPI.getFiles(evt); // Retrieve file list
FileAPI.filterFiles(files, function (file, info/**Object*/) {
if (/^image/.test(file.type)) {
return info.width >= 320 && info.height >= 240;
}
return false;
},
function (files/**Array*/, rejected/**Array*/) {
if (files.length) {
autoupload: true,
// Make preview 350x350
FileAPI.each(files, function (file) {
FileAPI.Image(file).preview(350).get(function (err, img) {
images.appendChild(img);
});
});
// Uploading Files
FileAPI.upload({
url: './ctrl.php',
files: { images: files },
progress: function (evt/**Object*/, file/**Object*/, xhr/**Object*/, options/**Object*/) { var pr = evt.loaded / evt.total * 100; },
complete: function (err/**String*/, xhr/**Object*/, file/**Object/, options/**Object*/){ if( !err ){
// File successfully uploaded
var result = xhr.responseText;
}
},
});
}
});
});
function buttonCancel() {
}
</script>
</html>
测试文件API上传程序
var FileAPI={
//@default:“./dist/”
静态路径:'/js/',
//@default:FileAPI.staticPath+“FileAPI.flash.swf”
flashUrl:“/statics/FileAPI.flash.swf”,
//@default:FileAPI.staticPath+“FileAPI.flash.image.swf”
flashImageUrl:“/statics/FileAPI.flash.image.swf”
};
window.FileAPI={
debug:false,//调试模式,请参阅控制台
cors:false,//如果使用cors,则设置'true'`
媒体:false,//如果使用网络摄像头,则设置为'true'`
静态路径:'/js/FileAPI/dist',//指向'*.swf'的路径
postNameConcat:函数(名称,idx){
//默认值:对象[foo]=1&对象[bar][baz]=2
//.NET:https://github.com/mailru/FileAPI/issues/121#issuecomment-24590395
返回名称+(idx!=null?'['+idx+']':'';
}
};
选择文件
window.FileAPI={staticPath:'/jquery/FileAPI/dist/'};
FileAPI.event.on(选择“更改”,函数(evt){
var files=FileAPI.getFiles(evt);//检索文件列表
FileAPI.filterFiles(文件、函数(文件、信息/**对象*/){
if(/^image/.test(file.type)){
返回信息宽度>=320和信息高度>=240;
}
返回false;
},
函数(文件/**数组*/,已拒绝/**数组*/){
if(files.length){
自动上传:对,
//制作预览350x350
FileAPI.each(文件、函数(文件){
FileAPI.Image(file).preview(350).get(函数(err,img){
图像。附加子对象(img);
});
});
//上传文件
FileAPI.upload({
url:“./ctrl.php”,
文件:{图像:文件},
进度:函数(evt/**Object*/,file/**Object*/,xhr/**Object*/,options/**Object*/){var pr=evt.loaded/evt.total*100;},
完成:函数(err/**String*/,xhr/**Object*/,file/**Object/,options/**Object*/){if(!err){
//文件已成功上载
var result=xhr.responseText;
}
},
});
}
});
});
函数按钮取消(){
}
出于某种原因,我不认为这是使用所有的脚本在底部每说