2009-10-30 2 views
0

나는 http://localhost/project/etcUploadify은 로컬 호스트의 외부 이벤트를 해고하지

문제를 통해 액세스하는 내 로컬 컴퓨터에서 실행할 때 아름답게 작동, 사용자가 파일을 업로드 할 수 있습니다 꽤 똑바로 앞으로 uploadified 페이지를 내가하려고하면되고있다 내 컴퓨터 이름 (http://mycomp1/project/etc)을 통해 그것을 얻으 려해도 페이지가/etc를로드하고 모든 것이 제대로 작동하지만 아무 것도 전송되지 않으면 방화 광구가 열려 정상적으로 표시됩니다. 모든 AJAX 요청은 통과하지만 아무 것도 얻지 못한다.

아이디어가 있으십니까?

내 uploadify 코드 :

$('#uploadify').uploadify({ 
    'scriptAccess': 'always', 
    'uploader': '../../scripts/uploadify.swf', //flash source for handling the uploads and size checking 
    'cancelImg': '../../content/images/cancel.png', //cool cancel button 
    'script': '../../' + $('#Controller').val() + '/FileSave/' + $('#OrderID').val(), //sends files to the controller with apropriate data 
    'folder': 'Uploads', //sets the upload directory, not sure if this matters as the files are sent to the controller 
    'multi': true, //allows multiple uploads 
    'auto': false, //uploads dont start automatically 
    'queueSizeLimit': 5, //5 files can be in the queue at a time 
    'queueID': 'fileQueue', //div to contain the queue of files 
    'displayData': 'speed', //shows the transfer speed 
    'fileExt': '*.pdf', //limits to pdfs 
    'fileDesc': 'PDF', //shows a description in the browse window of filetypes 
    'sizeLimit': '5242880', //5mb limit 
    'scriptData': { 'CategoryID': $('#fileCategory').val() }, //passes the selected value of the category drop down 
    onComplete: function(event, queueID, fileObj, response, data) {//once a transfer completes fires an ajax function to pull in the files for the order 
     if (response == "Upload Successful") {//if response is successfull, updates div displaying files with new files 
      GetFiles($('#Controller').val()); 
     } 
    } 
}); 

UPDATE : scriptAccess 뭔가 설정하지만 여전히 어떤 백엔드 스크립트를 발사하지 않는 uploadify 웹 사이트에 말했듯이, 항상로 설정하는 경우에도 또는 내 onComplete를 것으로 보인다 함수

UPDATE2 : 추가 검사시 로컬 호스트가 아닌 설정에서 올바른 스크립트 경로가 아닌 것처럼 보이지만 지금은 올바른 위치의 스크립트로 응답이 내 onComplete 함수에서 가져 오는 HTML 출력과 같습니다. 내 로그인 페이지. 어떤 아이디어?

갱신 3 : 로컬 호스트에서 내가 업로드 대신 성공적으로 내 로그인 페이지의 응답을 가져 오거나을 내 백엔드 코드

+0

FireBug 대신 Fiddler를 사용해보십시오. HTTP 세부 정보가 더 많이 표시됩니다. 저는 자바 스크립트 전문가는 아니지만'onComplete '와 같이 따옴표로 묶어야합니다 : func ...'? –

+1

아냐, 따옴표없이 잘 작동하고, 감사합니다 – Jimmy

+0

이것은 잘못된 도구가 무엇인지 알아볼 수있는 편리한 도구이지만 반환 URL이있는 로그인 페이지로 내 응답 URL을 표시합니다. 스크립트가 파일을 게시해야합니다. – Jimmy

답변

3

에서 내가 정상적으로 업로드 실패하지 않을 때 내 스크립트 경로는 단지 어떤 이유로, 괜찮 같은데 로그인 페이지 문제는 플래시가 세션을 존중하지 않는 것 같습니다.

PHP를 사용한다고 가정 할 때 Flash 객체의 게시물에 PHP 세션 ID를 전달해야합니다. 예를 들어, SWF Upload으로 설정하면 post_params 설정으로 전달됩니다. 그런 다음 세션 시작 전에 아래와 같은 작업을 수행하십시오.

if(isset($_POST['session_id']) && !empty($_POST['session_id'])) 
    session_id($_POST['session_id']) 

session_start(); 

편집 : 방금 ASP 태그를 발견했습니다. ASP에서 플래시 세션과 관련된이 기사를 발견했습니다. 잘하면 도움이 될 것입니다.

http://swfupload.org/forum/generaldiscussion/98

편집 : 좀 더 uploadify + ASP 특정 정보를 제공합니다. 웹 서버 (들)의 볼 루트 폴더에 crossdomain.xml를 추가 Uploadify -

http://www.uploadify.com/forum/viewtopic.php?f=7&t=1178

이것은

Using Flash with ASP.NET MVC and Authentication

+0

나는 SWFUpload 문제. 수동으로 세션을 시작하면 나를 위해 트릭을했습니다. –

+0

왜 로컬 호스트에서 작동하고 프로덕션 서버 또는 머신 이름을 통해 액세스 한 동일한 머신에서도 작동하지 않습니까? 내가 당신의 링크 된 기사를 통해 찾고있는 이유는 당신이 어떤 아이디어가 있다면 – Jimmy

+0

내가 블로그 게시물에서 코드를 구현하려고했지만 여전히 업로드, 다른 제안과 함께 작동하지 않는 메신저? – Jimmy

1

했다 ~ 같은 문제와 해결책은 아주 사소한이었다 정말 유망한 ::: 보인다 액세스하고 있습니다. 그것은 또한 내가 더 잘이 파일의 요점을 이해하는 this manual을 읽어보실 것을 조언 정보를

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
<allow-access-from domain="yourdomain"/> 
</cross-domain-policy> 

다음이 포함되어야합니다.

이것이이 문제의 근원인지 확인하려면이 방법을 시도하십시오.

+0

이제까지 언급 했으므로 파일 링크에 하드 코딩 된 값이 "다른 도메인"을 가리키는 지 궁금하게된다. '티. –

+0

그것은 또한 플래시 IE 쿠키 버그 때문이 아니라 도메인 액세스 문제 때문이 아닙니다. – Jimmy

관련 문제