아바타 이미지의 끌어서 놓기 기능을 만들려고합니다. 누군가가 상자에 끌어다 놓은 파일을 원합니다. '/ images/profile/$ username'디렉토리에 업로드하십시오. ASP.net 및 jquery를 사용한 드래그 앤 드롭
이
내 코드입니다 :<div class='fileDrop'>
<span id='fileDropTarget'>Drag your files here</span>
</div>
<script>
function fileSetUploadPercent(percent) {
var uploadString = "Uploaded " + percent + " %";
$('#fileDropTarget').text(uploadString);
}
function fileUploadStarted(index, file, files_count) {
fileSetUploadPercent(0); //set the upload status to be 0
}
function fileUploadUpdate(index, file, currentProgress) {
var string = "index = " + index + " Uploading file " + file.fileName + " size is " + file.fileSize + " Progress = " + currentProgress;
$('#status').text(string);
fileSetUploadPercent(currentProgress);
}
function fileUploadFinished(index, file, json, timeDiff) {
fileSetUploadPercent(100);
$('#fileDropTarget').css('border', '2px dotted #000000').text("Upload Voltooid");
}
function fileDragLeave(event) {
$('#fileDropTarget').css('border', '2px dotted #000000').text("Sleep uw foto hierin");
}
function fileDragOver(event) {
$('#fileDropTarget').css('border', '2px dashed #000000').text("Sleep uw foto hierin");
}
$(".fileDrop").filedrop({
fallback_id: 'fallbackFileDrop',
url: '/controls/upload.ascx',
allowedfiletypes: ['image/jpeg', 'image/png', 'image/gif'], // filetypes allowed by Content-Type. Empty array means no restrictions
allowedfileextensions: ['.jpg', '.jpeg', '.png', '.gif'], // file extensions allowed. Empty array means no restrictions
// refresh: 1000,
paramname: 'fileUpload', // POST parameter name used on serverside to reference file, can also be a function taking the filename and returning the paramname
maxfiles: 1, // Ignored if queuefiles is set > 0
maxfilesize: 10, // 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: fileDragOver,
dragLeave: fileDragLeave,
// docEnter: empty,
// docOver: fileDocOver,
// docLeave: fileDocLeave,
// beforeEach: empty,
// afterAll: empty,
// rename: empty,
error: function (err, file) {
switch (err) {
case 'BrowserNotSupported':
$('#fileDropTarget').css('border', '2px dashed #FF0000').text('Uw browser wordt niet gesupport');
break;
case 'TooManyFiles':
$('#fileDropTarget').css('border', '2px dashed #FF0000').text('U kunt maar 1 foto tegelijk uploaden');
break;
case 'FileTooLarge':
$('#fileDropTarget').css('border', '2px dashed #FF0000').text('Uw foto is groter dan 10MB');
break;
case 'FileTypeNotAllowed':
$('#fileDropTarget').css('border', '2px dashed #FF0000').text('Alleen fotos zijn toegestaan');
break;
case 'FileExtensionNotAllowed':
$('#fileDropTarget').css('border', '2px dashed #FF0000').text('Alleen fotos zijn toegestaan');
break;
default:
$('#fileDropTarget').css('border', '2px dashed #FF0000').text(err);
break;
}
},
uploadStarted: fileUploadStarted,
uploadFinished: fileUploadFinished,
progressUpdated: fileUploadUpdate
});
</script>
하지만 매번 내가 파일을 업로드하려고; 오류 : '찾을 수 없음'이 표시됩니다. 다른 문제는 asp.net 컨트롤과 POST 요청으로이 파일을 업로드하고 싶다는 것입니다. 파일을 FileUploadControl에 추가하는 방법을 모른다. 그리고 나는 dragfield에서 업로드 컨트롤을 어떻게 가져올 지 모른다.
protected void Page_Load(object sender, EventArgs e)
{
string filetype = Request.QueryString["fileType"];
string filename = Request.QueryString["fileUpload"];
FileUpload FileUploadControl = new FileUpload();
string location = "~/upload";
try
{
if (filetype == "avatar") location = "images/profile/";
FileUploadControl.SaveAs(Server.MapPath("~/") + location + filename);
LabelStatus.Text = "Upload status: File uploaded!";
}
catch (Exception ex)
{
LabelStatus.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
고맙습니다.
가 IE에서 작동하지 않습니다 – JSON