我想在html中製作一個上傳圖像的系統。當用戶將圖像選入輸入文件時,圖像的縮略圖將顯示出來。 正如我已閱讀,由於安全問題,沒有辦法從輸入文件中獲取圖像的路徑。 有人能告訴我如何使用JavaScript(使用jQuery)? 謝謝!jQuery - 如何從輸入文件製作縮略圖img
回答
在將文件上傳到服務器之前,您無法訪問文件內容,除非您使用的Chrome在該區域具有一些奇特功能。
你可以做的是上傳文件,然後用PHP作爲縮略圖獲取文件,我不認爲這是你想要的答案。相反,給你一個公平的答案:不,你不能這樣做。
謝謝大家的迴應,現在好了解我的工作方式......然後如果我必須在服務器上上傳文件,我怎樣才能在不刷新頁面的情況下提交表單?有沒有使用ajax? – Cata 2011-05-19 17:07:59
看看這個:http://valums.com/ajax-upload/你可以不使用'onSuccess'事件來獲取圖像,最好是作爲圖像的鏈接作爲來自後端的響應。 – 2011-05-19 22:14:08
我可能有此一招:
嘗試:
<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<script type="text/javascript">
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(100)
.height(100);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="blah" src="#" alt="your image" />
</body>
</html>
對於支持FireFox(3.6+)和Chrome(7+)的瀏覽器來說,IE並不支持,即使在版本9中,Opera也沒有。所以目前還不能普遍使用,大多數HTML5都是這種情況。 – Orbling 2011-05-18 23:42:03
@Orbling:很好指出。對於跨瀏覽器的兼容性,請考慮使用Flash,Silverlight或Google Gears等進行復制。 – XGreen 2011-05-18 23:43:26
@XGreen:我發現大多數Web開發專業人員仍完全避免使用HTML5,但覆蓋率尚未達到足夠的水平。我相信,運行IE或FF低於v3.6作爲主瀏覽器的機器數量仍然大於一半。 – Orbling 2011-05-18 23:45:43
我建議使用jQuery FileFive
插件: https://github.com/JDBurnZ/jquery-filefive
的Internet Explorer 10,Firefox和Chrome全部支持HTML5文件對象,它允許您讀取文件的大小,文件名和MIME類型以及文件的實際內容;如果你想要display thumbnails of selected images而沒有上傳它們,後面的內容會很有用。
工作的jsfiddle例子:http://jsfiddle.net/URqBk/
示例代碼:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="https://raw.github.com/JDBurnZ/jquery-filefive/master/jquery.filefive-0.1.0-rc1.min.js"></script>
<script type="text/javascript">
$(function() {
$(document.body).on('change', 'input[type="file"]', function(event) {
var $ = $.filefive(this);
$.each($filefive.files(), function(offset, file) {
var $img = file.image();
$('body').append($img);
}
});
});
</script>
</head>
<body>
<form>
<input type="file" name="myfile" />
</form>
</body>
</html>
- 1. 如何製作縮略圖?
- 2. Jquery - 添加img標題到縮略圖
- 3. 如何用php製作縮略圖
- 4. 如何實時製作縮略圖?
- 5. IMG縮略圖單擊以縮略圖標題
- 6. Clojure中製作縮略圖
- 7. 如何從文本文件創建縮略圖圖像?
- 8. 我如何從使用jQuery嵌入youtube/vimeo獲取縮略圖?
- 9. jQuery的 - 文件上傳 - 縮略圖
- 10. 使用文件製作縮略圖圖像
- 11. 如何使用JQuery/ASP.Net從PDF文件生成縮略圖圖像MVC
- 12. 從.3gp文件中縮略圖
- 13. 從jpeg文件中提取縮略圖
- 14. 抽搐縮略圖網址/ img src的
- 15. jquery縮略圖庫
- 16. 如何在這篇文章中縮略圖縮略圖?
- 17. 我如何製作縮略圖<img>單擊時顯示完整大小的圖像?
- 18. 如何爲縮略圖jQuery中
- 19. 如何在DiscordJS嵌入消息中使用本地文件作爲縮略圖?
- 20. 如何從R.raw文件夾獲取視頻縮略圖?
- 21. Java:如何從文件中獲取縮略圖
- 22. 離子如何從本地視頻文件獲取縮略圖?
- 23. 如何從嵌入式視頻獲取縮略圖圖像
- 24. 添加唯一的ID以包含文件輸入的縮略圖
- 25. 縮略圖從NSURL
- 26. 如何顯示沒有上傳的輸入類型文件的圖像縮略圖,或者使用
- 27. 如何把文件作爲輸入,並忽略新行字符
- 28. 如何從JvtThumbview中拖動縮略圖?
- 29. 從視頻中提取縮略圖圖像 - jQuery插件?
- 30. 如何使用jQuery從文件輸入中捕獲文件名?
正如卡爾說下面,需要服務器端的參與。 – Orbling 2011-05-18 23:31:54