- PR -

エクセルファイルのアップロードについて

1
投稿者投稿内容
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2003-09-14 00:15
いつも大変お世話になっております。
初めて質問させて頂きます。

VB.NETで開発をしています。
クライアントにあるEXCELファイルをサーバに保存しようとしているのですが上手くいかずに困っています。ヘルプの使用例を参考に下記のようなコードを作成したのですが
サーバに保存されたファイルは0バイトになってしまいます。

Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile
File1.PostedFile.SaveAs(sServerPath)

File1.Value=クライアントのフルパス、sServerPath=サーバのフルパスです。
ネットを検索してみたのですが同じような現象は発見できませんでした。

宜しくお願い致します。
AOPP
ベテラン
会議室デビュー日: 2002/11/18
投稿数: 66
投稿日時: 2003-09-14 23:04
aoppです

<FORM>タグに、encType="multipart/form-data" を挿入すれば受け取れるはずです。
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2003-09-14 23:43
回答ありがとうございます。
早速タグを下のようにして実行してみましたが結果は変わりませんでした。
<form id="Form1" method="post" encType="multipart/form-data" runat="server">

何か他に初心者が見落としそうな事はないでしょうか?
宜しく御願いします。

#今、疑念が浮かんだのですが"File1.PostedFile.SaveAs(sServerPath) "はHTMLではなくサーバ側のコードで正しいですか?
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-09-15 10:15
C#ですが、とりあえず動いている例です。

http://homepage3.nifty.com/dotnetfan/web/web13.html
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-09-16 18:21
もう解決されたのでしょうか?

ちょっと気になったのですが

File1.Value=クライアントのフルパスと書いてありますが

File1.PostedFile.FileNameに送りたいファイルが指定されていなければならないはずです。

以上
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2003-09-17 23:53
回答して頂いた皆様、返事が遅くなって申し訳ありません。
解決はしていないのですが原因は判明しました。

File1.PostedFile.SaveAs(sServerPath)
HtmlInputFileのFile1の指定内容が消えてしまっていたのでした。
保存元が指定されていない為、保存先に指定されたファイルが作成されますが中身は空になっていたのでした。
HtmlInputFileは一度送信されるとその値を保持できず、プログラムで値を設定することもできないようなのです。
私が開発中の画面にはアップロードボタンだけではなく、送信が発生する他のボタンや機能がある為、アップロードボタンを押す前にHtmlInputFileの指定内容が消えていたのでした。
現在、回避策を検討中です。




1

スキルアップ/キャリアアップ(JOB@IT)