.net의 AsyncFileUpload 컨트롤에 대해서는 파일을 선택하면 컨트롤이 파일 업로드를 실행합니다. 내 관심사에, 일단 업로드 버튼을 비동기 적으로 처리 할 수 있도록 파일을 선택하면 업로드를 비활성화 할 수 있습니까?AsyncFileUpload 컨트롤
1
A
답변
0
내가 알기로는 AsyncFileUpload
에 의해 노출되는 유일한 이벤트는 UploadComplete
이벤트이고 UploadError
입니다. 수동으로 업로드를 시작하는 기능을 노출하는 이벤트는 특별히 없습니다. 아마도 JavaScript의 트릭이 그것을 할 수 있지만 전에는 그러한 대안을 보지 못했습니다.
0
간단한 대답은 아니오입니다. 비슷한 asyncupload 문제가 발생했습니다. 내 충고는 버튼을 사용하여 업로드를 제어하고, 선택한 파일을 추가 및 제거해야하며 (나중에이 파일이 필요함) 일부 자바 스크립트 조작을 사용하면 그와 떨어져 있어야합니다.
SWFUpload를 검색하면 쉽게 .NET과 통합 할 수있는 플래시 구성 요소입니다. 그것은 여러 자바 스크립트 옵션과 이벤트를 제공합니다. : D
확인은 다음 링크 :
1
나는 이것이 오래 알고 있지만, 누구든지 관심이있을 수도 있습니다에 대한 그래서 나는 잠시 동안 내 머리를 이겼다.
내 첫 번째 생각은 컨트롤 아래의 파일 입력을 비활성화하는 것이 었습니다.
컨트롤을 비활성화 할 수 있었지만 불행히도 작동이 멈췄습니다. 서버가 AsyncFileUpload_UploadComplete를 실행하면 입력 파일이 비활성화되어 읽을 파일이 없었습니다.
<script>
function disableFileUpload(on) {
if (on) {
$('#ajax-file-input input:file').attr('disabled', true);
} else {
$(#ajax-file-input 'input:file').attr('disabled', false);
}
}
function AsyncFileUpload_CheckExtension(sender, args) {
disableFileUpload(true);
return true;
}
function AsyncFileUpload_OnClientUploadComplete(sender, args) {
disableFileUpload(false);
var data = eval('(' + args.d + ')');
for (var key in data) {
var obj = data[key];
for (var prop in obj) {
console.log(prop + " = " + obj[prop]);
}
}
doThingsWith(data);
}
</script>
<div id="ajax-file-input">
<ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1"
OnUploadedComplete="AsyncFileUpload_UploadComplete"
OnClientUploadStarted="AsyncFileUpload_CheckExtension"
OnClientUploadComplete="AsyncFileUpload_OnClientUploadComplete"
runat="server" />
</div>
컨트롤 상단에 반투명 png를 배치하고 컨트롤을 보이지 않게 보이게 숨 겼습니다.
희망이 도움이됩니다.
function disableFileUpload(on) {
if (on) {
$("#file-disabled").show();
} else {
$("#file-disabled").hide();
}
}
SWFUpload를 방금 보았습니다. 업로드 된 파일이 upload.aspx가있는 위치에 저장된다는 것을 알았습니다. 그래서 내 질문은 어떻게 데이터베이스에 파일을 저장하는 것입니까? –
FileBytes 속성을 사용하여 DB에 저장할 수 있습니다. SWF를 설정하고 게시 할 URL을 선택하면 filebytes (바이트 배열)를 사용하여 데이터베이스에 저장합니다 – jaderanderson