- PR -

[ASP.NET]URLエンコードされたリンク先が正常に開かない

投稿者投稿内容
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-10-31 17:37
日本語で240文字だとUTF-8でエンコードしたら2160文字ですね。
ファイル名までのパスの分も入るでしょうし。

#とりあえず、いずれにしても、ファイル名が長すぎると思うのです。。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-10-31 18:07
> CドライブのTemporary internetFilesというフォルダを見に行ってしまい

なんかリンク先の設定の仕方も間違ってそうですね。。。

kinu
常連さん
会議室デビュー日: 2007/10/24
投稿数: 34
投稿日時: 2007-10-31 18:13
>日本語で240文字だとUTF-8でエンコードしたら2160文字ですね。
>ファイル名までのパスの分も入るでしょうし。
>#とりあえず、いずれにしても、ファイル名が長すぎると思うのです。。

文字数はやはり制限があるのですね。Web.Configで

<globalization requestEncoding="shift-jis" responseEncoding="shift-jis" enableBestFitResponseEncoding="false"/>

としてます。もしかしてこれが問題なのでしょうか?と思ってshift-jis部分
をUTF-8にすると2バイト文字(漢字等)が文字化けしてしまいます。

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-10-31 19:10
引用:
当方ではtxt,pdf,xlsともに100文字以上あっても開けました。何のファイルですか?

うそ言ったかも。xlsのみはダウンロードダイアログから開くを押したら開けない。

引用:
> CドライブのTemporary internetFilesというフォルダを見に行ってしまい

なんかリンク先の設定の仕方も間違ってそうですね。。。

開くとき、実体はここにあるのでブラウザがTemporaryにあるファイルを開こうとすること自体は
あってるんだと思います。。多分。
kinu
常連さん
会議室デビュー日: 2007/10/24
投稿数: 34
投稿日時: 2007-10-31 20:42
>>日本語で240文字だとUTF-8でエンコードしたら2160文字ですね。
>>ファイル名までのパスの分も入るでしょうし。
>>#とりあえず、いずれにしても、ファイル名が長すぎると思うのです。。
>文字数はやはり制限があるのですね。Web.Configで
><globalization requestEncoding="shift-jis" responseEncoding="shift-jis" >enableBestFitResponseEncoding="false"/>
>としてます。もしかしてこれが問題なのでしょうか?と思ってshift-jis部分
>をUTF-8にすると2バイト文字(漢字等)が文字化けしてしまいます。

これは解決しました!しかしUTF-8にしてもEXCELとWORDともにファイル文字
数が多いと正常に開けません。
何かよい方法はないのでしょうか??
ちなみにHTTPファイルの2バイト文字部分がHTMLエンコードされていてこの部分を
手入力で置き換えると開きます。
できればこの方式にしたいのですが、できないでしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-10-31 22:44
どうしてもということであればやはりtemplate列ですかね。
(HyperLink列で出来ないことを確認したわけじゃないです)

まずaspxで定義する方法でやってみてよさそうならITemplateのクラスを作る方法で
やってみるといいかもです。(あるいはそのままaspxで定義する方法でいっても)

http://msdn2.microsoft.com/ja-jp/library/0e39s2ck(VS.80).aspx

http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.templatefield.templatefield(vs.80).aspx

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