2011-08-29 83 views
2

我們最近遇到了這個問題,即在我們的遠程系統測試服務器上,pdf和gif文件不能成功上傳。其他文件格式,例如.docx,.xls,.jpg工作和所有文件類型均可在開發環境中使用。兩臺服務器都是Windows Server 2008 R2 Standard,IIS7.5並運行一個asp.net 4.0 web應用程序。NeatUpload問題在遠程服務器上傳pdf和gif文件

在谷歌搜索我已經看到一些參考,以確保正確使用.close(),我認爲我這樣做,因爲這適用於其他文件類型和開發。此外,在對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> 

任何幫助或方向非常感謝!

堆棧跟蹤如下: -

說明:在當前Web請求的執行過程中發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.IO.IOException:過程不能訪問該文件 'C:\的Inetpub \ wwwroot的\ UWP_SIT \ app_data文件\ NeatUpload_Temp \ 5b25efcf6e9246c1b989640f623486c0.config',因爲它正被另一個進程。

源錯誤:

在當前web請求的執行過程中生成未處理的異常。關於異常的來源和位置的信息可以使用下面的異常堆棧跟蹤來標識。

堆棧跟蹤:

[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 

回答

0

它看起來像Web應用程序沒有權限將文件保存到目的地。

您應該檢查的權限在兩個地方:

  • neatupload的臨時上傳目錄(其中文件去他們的 轉讓完成之前),目標目錄(其中 您移動他們,一旦他們的位置完成)