2012-05-10 2 views
1

Je tente de télécharger une image sur mon serveur IIS 7, mais elle est corrompue. Le même code fonctionne sur une instance locale via Visual Studio.Téléchargement sans corrompre les fichiers

têtes locales:

Request URL:http://localhost:55272/MyProfile/UploadPhoto?qqfile=01.jpg 
Request Method:POST 
Status Code:302 Found 
Request Headersview source 
Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:464542 
Content-Type:application/octet-stream 
Host:localhost:55272 
Origin:http://localhost:55272 
Referer:http://localhost:55272/MyProfile 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
X-File-Name:01.jpg 
X-Mime-Type:image/jpeg 
X-Requested-With:XMLHttpRequest 
Query String Parametersview URL encoded 
qqfile:01.jpg 
Response Headersview source 
Cache-Control:private 
Connection:Close 
Content-Length:137 
Content-Type:text/html; charset=utf-8 
Date:Thu, 10 May 2012 06:35:28 GMT 
Location:/MyProfile/MyProfile 
Server:ASP.NET Development Server/10.0.0.0 
X-AspNet-Version:4.0.30319 
X-AspNetMvc-Version:3.0 

têtes à distance:

Request URL:[remotehost]/XMVC/MyProfile/UploadPhoto?qqfile=01.jpg 
Request Method:POST 
Status Code:302 Found 
Request Headersview source 
Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Authorization:Negotiate -snip- 
Connection:keep-alive 
Content-Length:464542 
Content-Type:application/octet-stream 
Cookie:ASPSESSIONIDAABCCDSD=-snip- 
Host:[remotehost] 
Origin:[remotehost] 
Referer:[remotehost]/XMVC 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
X-File-Name:01.jpg 
X-Mime-Type:image/jpeg 
X-Requested-With:XMLHttpRequest 
Query String Parametersview URL encoded 
qqfile:01.jpg 
Response Headersview source 
Cache-Control:private 
Content-Length:142 
Content-Type:text/html; charset=utf-8 
Date:Thu, 10 May 2012 06:35:05 GMT 
Location:/XMVC/MyProfile/MyProfile 
Persistent-Auth:false 
Server:Microsoft-IIS/7.5 
WWW-Authenticate:Negotiate -snip- 
X-AspNet-Version:4.0.30319 
X-AspNetMvc-Version:3.0 
X-Powered-By:ASP.NET 

Voici ma méthode de téléchargement qui est appelé par le formulaire de téléchargement:

[HttpPost] 
public ActionResult UploadPhoto(object qqfile) 
{ 
    // Get current logged in user 
    var currentUser = _staffRepository.StaffMembers.First(p => p.Login == User.Identity.Name.Replace("Domain\\", "")); 

    var length = Request.ContentLength; 
    var bytes = new byte[length]; 
    Request.InputStream.Read(bytes, 0, length); 
    // bytes has byte content here. what do do next? 

    var fileName = currentUser.Login + ".jpg"; 

    var saveToFileLoc = string.Format("{0}\\{1}", 
            Server.MapPath("~/App_Data/uploads"), 
            fileName); 

    // save the file. 
    var fileStream = new FileStream(saveToFileLoc, FileMode.Create, FileAccess.ReadWrite); 
    fileStream.Write(bytes, 0, length); 
    fileStream.Close(); 

    return new RedirectResult("MyProfile"); 
} 

Si c'est que je suis concerné en utilisant ce File Uploader

L'image sort sur le serveur distant comme tous les octets NUL. Toute aide est appréciée.

+0

Il semblerait que c'est un problème avec Chrome 20 navigateur dev. Le dernier Firefox et IE 9 semblent le faire très bien. J'étudie plus loin. – joshschreuder

Répondre

Questions connexes