2011-03-10 2 views
1

J'utilise l'outil de téléchargement pour télécharger mes fichiers sans publication et je suis confronté à ce problème "Erreur IO" ou "Erreur HTTP" après la publication du site.Erreur IO/HTTP dans Uploadify dans asp.net mvc2

Ceci est mon exemple de code:

$('#UploadFile').uploadify({ 

    'uploader': '/Content/uploadify.swf', 

    'script': '/Home/uploadify', 

    'cancelImg': '/Content/cancel.png', 

    'folder': '/Content/UploadedFiles', 

    'auto': true 

}); 

ceci est mon code d'action

[HttpPost] 
public string uploadify() 
{ 
    string fileDirectory = Server.MapPath(@"\Content\UploadedFiles\"); 
    string signuterName = _fileStore.SaveUploadedFile(Request.Files[0], fileDirectory); 
    Session["SignuterfilePath"] = @"/Content/UploadedFiles/" + signuterName; 
    return signuterName; 
} 

http://www.uploadify.com/documentation/

merci.

+0

Nous avons aussi besoin du code de votre contrôleur et de l'action. – ZippyV

Répondre

1

Vous semblez avoir des URL codées en dur susceptibles de se casser lors du déploiement de votre site dans un répertoire virtuel. Je vous recommande de toujours utiliser des aides d'URL lorsqu'ils traitent avec urls:

$('#UploadFile').uploadify({ 
    'uploader': '<%= Url.Content("~/Content/uploadify.swf") %>', 
    'script': '<%= Url.Action("Uploadify", "Home") %>', 
    'cancelImg': '<%= Url.Content("~/Content/cancel.png") %>', 
    'folder': '<%= Url.Content("~/Content/UploadedFiles") %>', 
    'auto': true 

}); 

MISE À JOUR:

vos actions de contrôleur reviennent normalement aussi ActionResults pas des chaînes:

[HttpPost] 
public ActionResult Uploadify() 
{ 
    // Notice the argument of the MapPath method: 
    string fileDirectory = Server.MapPath(@"~/Content/UploadedFiles/"); 

    string signuterName = _fileStore.SaveUploadedFile(Request.Files[0], fileDirectory); 

    // Warning: You don't have access to the Session in requests 
    // performed by Flash plugins 
    //Session["SignuterfilePath"] = @"/Content/UploadedFiles/" + signuterName; 

    // Return an ActionResult 
    return Content(signuterName, "text/plain"); 
} 

Vous remarquerez également que j'ai supprimé l'appel de session de votre action de contrôleur. La raison en est que le plugin Uploadify utilise Flash et que Flash n'a pas accès aux cookies, donc lorsque la requête est effectuée, aucune Session ne sera associée.

+0

Merci pour votre soutien, mais il ne fonctionne pas – Mazen

+0

@Mazen, s'il vous plaît voir ma mise à jour. –

+0

le problème est que la requête n'a même pas atteint la méthode d'action après avoir modifié la fonction js comme vous l'avez dit. – Mazen