J'ai méthode pour Compresser le fichier avec gzip:Erreur HTTP 401.3 sur fichier créé .gz
public static void CompressFile(string filePath)
{
string compressedFilePath = Path.GetTempFileName();
using (FileStream compressedFileStream = new FileStream(compressedFilePath, FileMode.Append, FileSystemRights.Write, FileShare.Write, BufferSize, FileOptions.None))
{
GZipStream gzipStream = new GZipStream(compressedFileStream, CompressionMode.Compress);
using (FileStream uncompressedFileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
int offset = 0;
while (true)
{
byte[] buffer = new byte[offset + BufferSize];
int bytesRead = uncompressedFileStream.Read(buffer, offset, BufferSize);
if (bytesRead == 0)
break;
gzipStream.Write(buffer, offset, bytesRead);
offset += bytesRead;
}
}
gzipStream.Close();
}
File.Delete(filePath);
File.Move(compressedFilePath, filePath);
}
Mon problème est que sur le serveur de test (Win08 R2), il crée un fichier et il peut être téléchargé via le navigateur, mais sur le serveur d'hébergement Web (Win08 R1 plus ancien) il crée également un fichier, mais si je veux le télécharger, l'accès refusé l'exception est levée. Les différences sont dans l'autorisation de fichier. Sur le serveur R2 a accès au fichier Identité du pool d'applications (par exemple "MyWebSite"), mais sur R1 seulement IIS_IUSRS avec "autorisation spéciale".
oui j'ai ceci sur les deux serveurs: .gz - application/x-gzip –