- PR -

ファイルアップロード時に「File Field」を使用しない方法について

1
投稿者投稿内容
Miya
会議室デビュー日: 2005/01/31
投稿数: 3
投稿日時: 2005-11-11 03:59
いつも参考にさせていただいております。

C#.NETでWeb開発をしているのですが、画像ファイルのアップロード処理において
<INPUT Type="File">またはFile Field(ほぼ同じですが)を使わず処理をさせようと四苦八苦しております。

FileFieldを使用した場合において
FileDialogで選択されたファイルはPostedFile.SaveAsの操作をするまで
サーバーメモリにバッファされるとの記述が、MSDNドキュメントに存在しており
実際自分がアップロードしようとしている画像ファイルに、3M程度の画像ファイルも
アップロード対象に含まれるため、他の方法を探しているわけなのですが良い方法が
見つかりません。

サーバーのメモリを考えれば3M程度なら大丈夫かと思われるのですが
念には念を入れなければならないと考え行動しております。

サーバーへメモリへのバッファを避けて、OpenFileDialogのような形式でクライアント
上のファイル指定を行い、ファイルのローカルパスをだけを抽出できるような方法を
御存知の方がいらっしゃいましたら、ひとつ御教授を御願い致します。

また、FileFieldを使用した場合でも問題の無いようでしたら教えていただけると幸いです。

以上、宜しく御願い致します。

[ メッセージ編集済み 編集者: Miya 編集日時 2005-11-11 04:02 ]

[ メッセージ編集済み 編集者: Miya 編集日時 2005-11-11 04:03 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-11 06:15
ActiveX などで処理することになります。
という回答がついているスレッドが、いくつかあります。
_________________
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-11-11 07:22
引用:

Miyaさんの書き込み (2005-11-11 03:59) より:
C#.NETでWeb開発をしているのですが、画像ファイルのアップロード処理において
<INPUT Type="File">またはFile Field(ほぼ同じですが)を使わず処理をさせようと四苦八苦しております。


FileFieldを使う以外に、どのような方法があると?
WEBの仕組みから外れても良いなら、そりゃ方法は多々ある。でも、それで済むなら四苦八苦する必要もないよね。

引用:

サーバーのメモリを考えれば3M程度なら大丈夫かと思われるのですが
念には念を入れなければならないと考え行動しております。


サーバーのメモリ消費が心配なら、心配しなくてもすむスペックのサーバーを用意するのが良いかと。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-11-11 11:28
引用:

サーバーへメモリへのバッファを避けて、OpenFileDialogのような形式でクライアント
上のファイル指定を行い、ファイルのローカルパスをだけを抽出できるような方法を
御存知の方がいらっしゃいましたら、ひとつ御教授を御願い致します。



<form name="form1">
<input type="file" name="file1">
</form>
<form onsubmit="this.file2.value=document.form1.file1.value">
<input type="hidden" name="file2">
<input type="submit">
</form>
Miya
会議室デビュー日: 2005/01/31
投稿数: 3
投稿日時: 2005-11-11 12:49
Jitta様
甕星様
todo様

コメントありがとう御座います。

Jitta様
引用:

ActiveX などで処理することになります。
という回答がついているスレッドが、いくつかあります。



次回からは、検索のコツを踏まえた上で投稿致します。


甕星様
引用:

サーバーのメモリ消費が心配なら、心配しなくてもすむスペックのサーバーを用意するのが良いかと。


確かに、その通りでですね^^;

ポストバック対象のページにアップロードを配置しなければならなかったため
セッションにPostedFileオブジェクトを格納し、各入力内容の更新ボタン押下まで
値を保持させるという概念の上でサーバーメモリへのバッファ時間をなんとか短縮
できないかと考えておりました。
本番サーバーのメモリ数が4Gありますので、そこまで慎重になる事ではないのかも
しれません orz


todo様
引用:

<form name="form1">
<input type="file" name="file1">
</form>
<form onsubmit="this.file2.value=document.form1.file1.value">
<input type="hidden" name="file2">
<input type="submit">
</form>


ありがとう御座います。
runat="server"を付けなければ、確かにサーバーメモリ上に展開されませんね
これを元に、いろいろと試してみたいと思います。

皆様、ご教授ありがとう御座いました。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-11-11 12:51
引用:

todoさんの書き込み (2005-11-11 11:28) より:



おお〜、これ面白い。
パスだけをサーバー渡すんですね。
でも、ローカルのパスを渡して何に使うんだろ。
どうしようもないと思いますけど。

---------------
あら、かぶっちゃった。

[ メッセージ編集済み 編集者: 一郎 編集日時 2005-11-11 12:53 ]
Miya
会議室デビュー日: 2005/01/31
投稿数: 3
投稿日時: 2005-11-11 13:48
引用:

一郎さんの書き込み (2005-11-11 12:51) より:

でも、ローカルのパスを渡して何に使うんだろ。
どうしようもないと思いますけど。



すみません初歩的な、思い違いをしておりました orz
そもそも転送ローカルファイルパスだけを情報として得たとしても
ローカルマシンの情報を、そのローカルパスから取得する事ができないんですね・・・
画面構成の部分から検討のしなおしを、してみます。

ご迷惑をおかけしてしまい申し訳ありませんでした。
1

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