c# - NeatUpload 在远程服务器上上传 pdf 和 gif 文件时出现问题

标签 c# .net pdf file-upload permissions

我们最近遇到了这个问题,导致 pdf 和 gif 文件无法在我们的远程系统测试服务器上成功上传。其他文件格式,如 .docx、.xls、.jpg 可以工作,所有文件类型都可以在开发环境中工作。两台服务器都是 Windows Server 2008 R2 Standard、IIS7.5 并运行 asp.net 4.0 Web 应用程序。

在搜索谷歌时,我看到了一些关于确保正确使用 .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>

非常感谢任何帮助或指导!

下面的堆栈跟踪:-

描述:当前网络请求执行过程中出现未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息: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 的临时上传目录 传输完成)目标目录(位置 你把它们移到它们完成后)

关于c# - NeatUpload 在远程服务器上上传 pdf 和 gif 文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7231670/

相关文章:

c# - 使用单个 LINQ 语句将列表拆分为两个列表

c# 点对点编程(最好是去中心化的)

c# - 结合 ORM、工作单元和存储库模式的主从 View

security - 防止PDF文件下载和打印

c# - ViewBag 属性已设置但不可访问

c# - 编写这样的代码是否有任何反模式名称?

c# - 在大型 wpf 数据网格中移动/隐藏列的性能问题

.net - 存储库或数据访问方法中的方法上的 'Find' 和 'Get' 动词有什么区别?

c++ - 如何在 C++(无 .NET)中将 PDF 转换为位图(栅格化)

pdf - 使用 golang 从 PDF 中提取单词?