NeatUpload问题在远程服务器上传pdf和gif文件
问题描述:
我们最近遇到了这个问题,即在我们的远程系统测试服务器上,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
答
它看起来像Web应用程序没有权限将文件保存到目的地。
您应该检查的权限在两个地方:
- neatupload的临时上传目录(其中文件去他们的 转让完成之前),目标目录(其中 您移动他们,一旦他们的位置完成)