У меня есть два бита кода.Тот, который загружает zip-файл и сервер, который сохраняет загрузку на диск.Моя проблема в том, что я загружаю zip-файл, который прекрасно открывается в программе архивации Windows 7 по умолчанию, но когда я пытаюсь открыть его с веб-сервера, он тоже был опубликован и больше не открывается с ошибкой:
Windowsне могу открыть папку.Сжатая сжатая папка 'blah' недопустима.
Примечание 1: файл полностью открывается в WinRar или других программах ZIP.
Примечание 2: исходный файли файл на сервере точно такого же размера на диске, но размер одного из серверов на 200 байтов больше
Вот код для загрузки zip-файлов:
public static String UploadFile(String url, String filePath)
{
if (!File.Exists(filePath))
throw new FileNotFoundException();
try
{
using (var client = new WebClient())
{
byte[] result = client.UploadFile(url, filePath);
UTF8Encoding enc = new UTF8Encoding();
string response = enc.GetString(result);
return response;
}
}
catch (WebException webException)
{
HttpWebResponse httpWebResponse = webException.Response as HttpWebResponse;
return (httpWebResponse == null) ? webException.Message : httpWebResponse.StatusCode.ToString();
}
}
Вот код на сервере, который сохраняет входящий файл (существует в загрузке страницы на странице .NET C # aspx):
private void SaveZipFile()
{
string fileName;
string zipPath;
fileName = GenerateFileName();
zipPath = _hhDescriptor.GetDirectory(path => Server.MapPath(("./" + _serviceName + "\\" + path)) + "\\" + fileName + ".zip");
if (!Directory.Exists(zipPath))
{
Directory.CreateDirectory(Path.GetDirectoryName(zipPath));
}
Request.SaveAs(zipPath, false);
logger.Trace(string.Format("ManualUpload: Successfully saved uploaded zip file to {0}", zipPath));
}
Любые идеи / или предложения, как возможные места, которые могут быть нарушеныбудет принята с благодарностью!Я, вероятно, сохраняю некоторые другие случайные вещи вместе с zip-файлом.
UPDATE 1:
Когда я открываю zip-файл сервера в блокноте, он содержит
----------------------- 8cd8d0e69a0670b Content-Disposition: form-data;Name = "файл";filename = "filename.zip" Content-Type: application / octet-stream
Поэтому мой вопрос заключается в том, как сохранить zip-файл без захвата информации заголовка.