NeatUpload проблема загрузки файлов PDF и GIF на удаленном сервере - PullRequest
2 голосов
/ 29 августа 2011

Недавно мы столкнулись с этой проблемой, из-за которой файлы pdf и gif не будут успешно загружены на тестовый сервер нашей удаленной системы. Другие форматы файлов, такие как .docx, .xls, .jpg работают и все типы файлов работают в среде разработки. Оба сервера работают под управлением Windows Server 2008 R2 Standard, IIS7.5 и запускают веб-приложение asp.net 4.0.

При поиске в Google я видел несколько ссылок на то, чтобы убедиться в правильном использовании .close (), что, я думаю, я и делаю, поскольку это работает для других типов файлов и для dev. Также с точки зрения разрешений для папки app_data \ NeatUpload_Temp я гарантировал, что у действующей учетной записи есть доступ на запись.

Вот некоторый псевдо-код C #: -

if(inputFile.HasFile)
{
//Get the uploaded content
byte[] fileBytes = ReadContentsFromUploadedFile(inputFile);

//Get the uploaded file name
string fileName = GetFileNameFromUploadedFile(inputFile);

//Get the MIME type
string mimeType = inputFile.ContentType;

//Create custom object and store doc in SharePoint via web service

inputFile.FileContent.Close();
}

И фрагмент из Web.config: -

<neatUpload xmlns="http://www.brettle.com/neatupload/config/2008"  useHttpModule="true"     maxNormalRequestLength="102400" maxRequestLength="102400"     defaultStorageProvider="FilesystemUploadStorageProvider"      defaultStateStoreProvider="InProcUploadStateStoreProvider">
<providers>
<add name="FilesystemUploadStorageProvider"     type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
<add name="InProcUploadStateStoreProvider"     type="Brettle.Web.NeatUpload.InProcUploadStateStoreProvider, Brettle.Web.NeatUpload"/>
</providers>
</neatUpload>

Любая помощь или направление высоко ценится!

Трассировка стека ниже: -

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.IO.IOException: процесс не может получить доступ к файлу 'C: \ inetpub \ wwwroot \ UWP_SIT \ app_data \ NeatUpload_Temp \ 5b25efcf6e9246c1b989640f623486c0.config', поскольку он используется другим процессом *

* 1017. *1017*

Ошибка источника:

Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[IOException: The process cannot access the file 'C:\inetpub\wwwroot\UWP_SIT\app_data\NeatUpload_Temp\5b25efcf6e9246c1b989640f623486c0.config' because it is being used by another process.]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +12896359
System.IO.FileInfo.Delete() +183
Brettle.Web.NeatUpload.FilesystemUploadedFile.Dispose() +909
Brettle.Web.NeatUpload.FileControl.OnUnload(EventArgs e) +235
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +160
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Control.UnloadRecursive(Boolean dispose) +323
System.Web.UI.Page.UnloadRecursive(Boolean dispose) +24
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11351550
System.Web.UI.Page.ProcessRequest() +269
System.Web.UI.Page.ProcessRequest(HttpContext context) +167
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +625
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1 

1 Ответ

0 голосов
/ 28 октября 2013

Похоже, что веб-приложение не имеет разрешения сохранять файлы в месте назначения.

Вы должны проверить разрешения в двух местах:

  • Каталог временных загрузок neatupload (куда файлы идут до переводы завершены) каталог назначения (место, где вы перемещаете их, как только они завершены)
...