Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec des chemins d'accès

11 réponses
Avatar
Elo
Bonjour,

Je mets en place des webform permettant de g=E9rer un=20
syst=E8me de news. Dans la partie publique j'affiche les=20
news, et dans la partie priv=E9e j'ai un formulaire=20
permettant d'en cr=E9er.

Chacune de mes news contient une photo associ=E9e.
J'ai stock=E9 l'url d'acc=E8s du r=E9pertoire o=F9 st stock=E9es=20
les news dans le web.config.

Mon probl=E8me, c'est que je veux les mettre en relatif.
Mes images sont stock=E9es dans le=20
c:/inetpub/wwwroot/monprojet/uplaod/news.
Donc dans le web.config je voudrais mettre : upload/news/

Si je mets ce chemin d'acc=E8s, =E0 l'affichage, =E7a passe=20
tr=E8s bien, mais l'upload de l'image dans mon formulaire=20
d'ajout plante.
=3D> en fait il essaye d'uploader mon image dans le=20
r=E9pertoire c:/WINDOWS/System32/upload/news

Est-ce que quelqu'un sait pourquoi il veut me le charger=20
=E0 cet endroit ?

Je ne comprends vraiment pas pourquoi =E7a plante : ma page=20
Ajout.aspx se trouve =E0 la racine du projet, et ma page=20
Affiche.aspx se trouve elle aussi =E0 la racine (mais elle=20
appelle un contr=F4le utilisateur se trouvant dans le=20
r=E9pertoire composants/news)

Est-ce que quelqu'un voit une solution =E0 mon probl=E8me ?

Merci d'avance.

Elo

1 réponse

1 2
Avatar
Elo
Merci pour l'astuce.
Ca fait un êu bidouille je trouve mais l'essentiel c'est
que ça marche...
Par contre je risque de me prendre un peu la tête parce
qu'il va falloir que je revois tous les fichiers où il y
a de l'upload d'image...
Enfin bref, merci pour ton aide !

A+

Elo

PS : tu sais pourquoi il me renvoit le chemin d'accès
c/windows... ? (à titre personnel)



-----Message d'origine-----
Ok :-) Effectivement, j'ai le même message.

On peut ruser, en utilisant un code du genre :

string SaveLocation = Server.MapPath(".").ToString()


+ "" + fn;

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune


sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés


à son utilisation.


"Elo" wrote in


message
news:a0b501c47938$84702cd0$
Ben oui, mais ton chemin d'accès n'est pas en relatif...

Moi aussi, si je mets
c://InetPub/wwwroot...../upload/news ça tourne, mais en
fait je veux mettre le chemin en relatif
=>"upload/news/", parce que sinon, quand je vais faire la
mise en ligne ça va planter...

Tu pourrais essayer de modifier ton chemin d'accès, pour
mettre
<add key="StockImgNews" value="uploadnews" />, pour
voir si ça passe chez toi ? Comme ça je pourrais voir si
c'est normal ou pas...

Merci beaucoup pour ton aide.

Elo



-----Message d'origine-----
Dans mon Web.config j'ai

<add key="StockImgNews"


value="C:PORTALCSWebApplicationuploadnews" />

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune


sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés


à son utilisation.


"Elo" wrote in


message
news:9e9e01c47932$da60a8f0$
Re-bonjour,

Je viens de tester qq trucs mais ça ne marche toujours
pas.
Je suis sure d'avoir le bon chemin d'accès dans mon
web.config puisque lorsque je veux afficher les images,
ça passe. A tout hasard, pourrais-tu me donner le chemin
d'accès que tu as mis dans ton web.config pour tester ?

En bref, dans mon web.config, j'ai comme
valeur "uploadnews"
Dans ma fonction, ma variable Savelocation prend pour
valeur : @"uploadnewsmonimage.jpg" (selon l'espion
express)
Il plante au moment du SaveAs, et part dans le catch où
il me dit :
{"Impossible de trouver une partie du chemin d'accès
"C:WINDOWSsystem32




uploadnewsmonimage.jpg"." }

Là franchement, je ne vois pas le problème, surtout si




tu
dis que ça marche chez toi...

Elo



-----Message d'origine-----
Merci pour les informations mais malheureusement, je ne


reproduis pas
l'erreur : tout fonctionne bien dans ma page.

private void Button1_Click(object sender,


System.EventArgs e)
{
string fn = System.IO.Path.GetFileName


(graphique.PostedFile.FileName);
string SaveLocation = ConfigurationSettings.AppSettings


["StockImgNews"] +
fn;
Response.Write(SaveLocation);
graphique.PostedFile.SaveAs(SaveLocation);
}


En debug, as-tu la bonne valeur pour SaveLocation ?

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune


sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés


à son utilisation.


"Elo" wrote in


message
news:750c01c4763e$2e6fb820$
Bonjour,

Merci de te pencher sur la question...

Web.config
<add key="StockImgNews"
value="C:InetpubwwwrootHostuploadnews" />

composant dans le répertoire /composants/news/ :
(redéfinition du render)
string imgpath = ConfigurationSettings.AppSettings
["StockImgNews"];

output.Write("<img src="+imgpath+maDataRow
["graphique"].ToString()+" border="1" align="Left"
width="60" height="50">");
=> là c ok

Page me permettant d'ajouter une news :

// récupération du nom de l'image
string fn = System.IO.Path.GetFileName
(graphique.PostedFile.FileName);

// path
string SaveLocation = ConfigurationSettings.AppSettings
["StockImgNews"] + fn;

try
{
// ici il plante
graphique.PostedFile.SaveAs(SaveLocation);
}

En fait, mon path prend la valeur
@uplaodnewsnomimage.jpg
Mais au moment où il arrive au niveau du saveAs, il
génère une exception :
{"Impossible de trouver une partie du chemin d'accès
"C:WINDOWSsystem32




uploadnewsmonimage.jpg"." }

Tu as une idée ?

Merci.

Elo

-----Message d'origine-----
Bonjour,

Il faut voir le code. As-tu un exemple de reproduction


du probleme à nous
envoyer ?

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie








d'aucune
sorte, et ne vous
confère aucun droit. Vous assumez tous les risques








liés
à son utilisation.


"Elo" wrote in


message
news:703901c4760c$84f85990$
Bonjour,

Je mets en place des webform permettant de gérer un
système de news. Dans la partie publique j'affiche les
news, et dans la partie privée j'ai un formulaire
permettant d'en créer.

Chacune de mes news contient une photo associée.
J'ai stocké l'url d'accès du répertoire où st stockées
les news dans le web.config.

Mon problème, c'est que je veux les mettre en relatif.
Mes images sont stockées dans le
c:/inetpub/wwwroot/monprojet/uplaod/news.
Donc dans le web.config je voudrais mettre :




upload/news/

Si je mets ce chemin d'accès, à l'affichage, ça passe
très bien, mais l'upload de l'image dans mon








formulaire
d'ajout plante.
=> en fait il essaye d'uploader mon image dans le
répertoire c:/WINDOWS/System32/upload/news

Est-ce que quelqu'un sait pourquoi il veut me le






charger
à cet endroit ?

Je ne comprends vraiment pas pourquoi ça plante : ma




page
Ajout.aspx se trouve à la racine du projet, et ma page
Affiche.aspx se trouve elle aussi à la racine (mais






elle
appelle un contrôle utilisateur se trouvant dans le
répertoire composants/news)

Est-ce que quelqu'un voit une solution à mon








problème ?

Merci d'avance.

Elo


.





.





.





.



1 2