Image jQuery拖放图像上传功能
我试图通过jQuery编写自己的简单AJAX图像上传脚本。我发现了一些插件,但它们太过定制,无法满足需要,我无法让它们正常工作 我只是想通过某种方式检测用户何时将图像拖放到页面上。从那里我确信上传数据并移动到/cache/目录并允许更多选项并不困难 但现在我完全被拖放功能所困扰。真的不知道我该怎么做。需要什么类型的事件处理程序?我是否需要自定义自己的事件处理程序代码?任何建议都将不胜感激 需要什么类型的事件处理程序 Drag'n'drop需要一个HTML5浏览器——但这几乎是所有的浏览器了 我建议不要从头开始,因为需要相当多的代码——我非常喜欢这个包装器,它可以作为jQuery插件来实现 使用类div在文档中定义元素后,可以使用以下命令对其进行初始化以接受删除的文件:Image jQuery拖放图像上传功能,image,jquery,file-upload,drag-and-drop,Image,Jquery,File Upload,Drag And Drop,我试图通过jQuery编写自己的简单AJAX图像上传脚本。我发现了一些插件,但它们太过定制,无法满足需要,我无法让它们正常工作 我只是想通过某种方式检测用户何时将图像拖放到页面上。从那里我确信上传数据并移动到/cache/目录并允许更多选项并不困难 但现在我完全被拖放功能所困扰。真的不知道我该怎么做。需要什么类型的事件处理程序?我是否需要自定义自己的事件处理程序代码?任何建议都将不胜感激 需要什么类型的事件处理程序 Drag'n'drop需要一个HTML5浏览器——但这几乎是所有的浏览器了 我建
function fileSetUploadPercent(percent, divID){
var uploadString = "Uploaded " + percent + " %";
$('#'.divID).text(uploadString);
}
function fileUploadStarted(index, file, files_count){
var divID = getDivID(index, file);
createFileUploadDiv(divID); //create the div that will hold the upload status
fileSetUploadPercent(0, divID); //set the upload status to be 0
}
function fileUploadUpdate(index, file, currentProgress){
//Logger.log("fileUploadUpdate(index, file, currentProgress)");
var string = "index = " + index + " Uploading file " + file.fileName + " size is " + file.fileSize + " Progress = " + currentProgress;
$('#status').text(string);
var divID = getDivID(index, file);
fileSetUploadPercent(currentProgress, divID);
}
function fileUploadFinished(index, file, json, timeDiff){
var divID = getDivID(index, file);
fileSetUploadPercent(100, divID);
if(json.status == "OK"){
createThumbnailDiv(index, file, json.url, json.thumbnailURL);
}
}
function fileDocOver(event){
$('#fileDropTarget').css('border', '2px dashed #000000').text("Drop files here");
}
$(".fileDrop").filedrop({
fallback_id: 'fallbackFileDrop',
url: '/api/upload.php',
// refresh: 1000,
paramname: 'fileUpload',
// maxfiles: 25, // Ignored if queuefiles is set > 0
maxfilesize: 4, // MB file size limit
// queuefiles: 0, // Max files before queueing (for large volume uploads)
// queuewait: 200, // Queue wait time if full
// data: {},
// headers: {},
// drop: empty,
// dragEnter: empty,
// dragOver: empty,
// dragLeave: empty,
// docEnter: empty,
docOver: fileDocOver,
// docLeave: fileDocLeave,
// beforeEach: empty,
// afterAll: empty,
// rename: empty,
// error: function(err, file, i) {
// alert(err);
// },
uploadStarted: fileUploadStarted,
uploadFinished: fileUploadFinished,
progressUpdated: fileUploadUpdate,
// speedUpdated
});
接受上传的网页中有一个HTML
<div class='fileDrop'>
Upload a file by dragging it.
<span id='fileDropTarget'/>
</div>
通过拖动上传文件。
文件放置在外部工作,但最好是制作一个漂亮的大目标,上面写着“放置在这里”,这样用户就不会对需要将文件放置在哪里感到困惑。可能太晚了。但是你应该检查一下这个插件(不是为了使用,而是看看源代码)。它们实现了一个与您想要的类似的拖放功能。具体看一下这个文件和onDrop方法: