2013-07-02 28 views
0

我在下載文件時遇到問題。我在我的本地IIS上運行這個網站。 BaseUrl正確地具有我本地IIS站點的地址。 moduleImgPath是一個Sitecore媒體項目:「/sitecore/shell/~/media/Racking/module-image.png」。 BaseUrl具有結構"http://local-$company.com".C#使用Web客戶端下載數據

用於下載的代碼基本如下所示。帶有System.ArguementException - 「參數的Image.FromStream()方法錯誤無效。」

 Stream stream = new MemoryStream(new WebClient().DownloadData(RackingConfigHelper.BaseUrl + moduleImgPath)); 

     Image objImage = Image.FromStream(stream); 

我的問題基本上圍繞着 - 你可以用這種方式使用WebClient,從本質上是本地源下載數據嗎?或者我是否需要將此代碼部署到我的測試環境中進行測試?如果可以,我需要擔心端口嗎?

+0

WebClient.DownloadData返回一個字節[]。我首先將它保存到本地字節[]中,然後嘗試使用它作爲MemoryStream的參數。 我知道這聽起來很奇怪,但只是嘗試一下,看看會發生什麼...... –

+0

它也將允許你看看是否填充了字節[] –

+0

錯誤被拋出,所以似乎沒有發生。字節數組確實有數據,所以它看起來更像是數據格式不正確。 –

回答

0

它看起來像你的圖像數據不是JPG(我認爲這通常是圖像的預期)。

你可以看到爲什麼在這個msdn link

中出現錯誤,你可以看到的圖像的文檔該msdn link

我會大膽地猜測,你要麼試圖用一個非JPG或可能你擁有的JPG可能異常地形成。