我在使用vb.net应用程序时遇到了一个奇怪的错误。
SCRIPT5022: Sys.WebForms.PageRequestManagerServerErrorException: 参数无效。 的ScriptResource.axd d = xBirR-IOdGGprkqqNevBcHNIkg0D9itajcnT1rzcsTyAeE9pA5bY-Q8F17gzSkJgjYXkLU9Zbo7kEH8CDSE0UEO-xjFfRJDlEGT7xxk-ALz_6yQvfBnU6At9OjGneWCJwyv82OLWiAo5VT7ywYXkDg2&安培;ΔT= ffffffffbd2983fc, 938行第13行
当我上传图像时,以及使用iis(在我的服务器上或在本地)并且仅使用超过1kb的图像文件(恰好已经开始使用小文件进行测试)时会发生错误。
当我使用visual studio开发应用程序时,不会发生错误。
我正在使用AsyncFileUpload上传文件,如下所示:
<asp:AsyncFileUpload ID="PictureUpload" runat="server" UploaderStyle="Traditional"
ThrobberID="spinner" PersistFile="true" OnClientUploadComplete="uploadComplete" OnClientUploadStarted="uploadStart" />
我在ajax响应的正文中收到此错误消息。并且我已经将源代码固定在我的代码中的几行后面,我尝试将文件的流保存为图像。
23 |错误| 500 |参数不是 有效|
这些是我尝试使用的方法。
Dim bmp As New Bitmap(PictureUpload.PostedFile.InputStream)
或
Dim sourceImage As System.Drawing.Image = System.Drawing.Image.FromStream(PictureUpload.PostedFile.InputStream)
或
Dim strm As System.IO.Stream = PictureUpload.PostedFile.InputStream
Dim memStream As New IO.MemoryStream()
Dim buffer(2048) As Byte
Dim bytesRead As Integer = 1
While (bytesRead <> 0)
bytesRead = strm.Read(buffer, 0, buffer.Length)
memStream.Write(buffer, 0, bytesRead)
End While
Dim sourceImage As System.Drawing.Image = System.Drawing.Image.FromStream(memStream)
我猜测,因为小图像正在工作,所以它在IIS或我的web.config中的某个地方。
所以我尝试添加。
<httpRuntime
maxRequestLength="1048576"
executionTimeout="3600"
/>
<sessionState
timeout="60"
/>
到web.config ...并且IIS似乎被配置为默认接受最大4MB的文件。
有没有人想过我可能错过了什么?或者如何以某种方式对输入流进行分块?
html源码确实有。
enctype="multipart/form-data"
在表格标签中。
我为此搜索了很多内容,我发现的建议似乎都没有用。
感谢您提前的时间:)
-Paul。
::我也试过添加::
PictureUpload.PostedFile.InputStream.Seek(0, SeekOrigin.Begin)
和
PictureUpload.PostedFile.InputStream.Position = 0