質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

1回答

1718閲覧

【VB.net】WebClientで30MB以上のファイルをアップロードできない【IIS】

MyTitsInJP

総合スコア14

IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2018/02/15 10:46

お世話になっております。

WebClient.uploadFileを用いて、IISのWebサーバに
1GB程度のファイルを送信する機能を実装しております。

しかし、30MBを超えるファイルを送信すると404エラーが発生します。

ASP.NETで28~30MB以上のファイルアップロードで404エラーが発生する (ASP.NET プログラミング)

上記の対策を行いましたが、解決しませんでした。

28MB以下のファイルは送信することができるため、
クライアント側の問題というよりIISの問題のように思っておりますが、
原因が分かりません。

対策をご存知の方がいましたら、ご教授頂けますでしょうか。

ソースは以下になります。

  • クライアント

Form1.vb

Imports System.Net Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim webClient As WebClient = New WebClient() Dim url As String = "http://[サーバのIPアドレス]/upload.aspx" Dim filePath As String = "C:\tmp.txt" webClient.UploadFile(url, filePath) webClient.Dispose() webClient = Nothing End Sub End Class
  • サーバ

upload.aspx

<%@ Import Namespace="System"%> <%@ Import Namespace="System.IO"%> <%@ Import Namespace="System.Net"%> <%@ Import NameSpace="System.Web"%> <Script language="VB" runat=server> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim file Dim fileList = Request.Files.AllKeys For Each f In fileList file = Request.Files(f) file.SaveAs("C:\inetpub\wwwroot\" & file.FileName) Next f End Sub </Script> <html> <body> <p> Upload complete. </p> </body> </html>

web.config

<?xml version="1.0" encoding="utf-8"?> <!-- ASP.NET アプリケーションの構成方法の詳細については、 https://go.microsoft.com/fwlink/?LinkId=169433 を参照してください --> <configuration> <system.web> <compilation debug="true" strict="false" explicit="true" targetFramework="4.6.1" /> <httpRuntime executionTimeout="90" maxRequestLength="1073741824" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" /> </system.web> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824"/> </requestFiltering> </security> </system.webServer> </configuration>

またバージョンは以下です。
.net FrameWork 4.7.1
IIS 7.5です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

参考サイトをみてみましたが、質問者さんが提示されているweb.configに一行抜けている記述があるようです

xml

1 <system.webServer> 2 <modules runAllManagedModulesForAllRequests="true" /> // この行がない 3 <security> 4 <requestFiltering> 5 <requestLimits maxAllowedContentLength="1073741824"/> 6 </requestFiltering> 7 </security> 8 </system.webServer>

上記抜けている行を追加すると、できるんじゃないでしょうか。

投稿2018/02/16 00:54

KoichiSugiyama

総合スコア3041

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MyTitsInJP

2018/02/16 03:07

回答ありがとうございます。 ご指摘の通り、1行追加して試してみましたが、解決しませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問