原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
好久沒寫文了, 終于閑下來寫篇文章。 為什么要寫小程序上傳圖片, 因為今天我運行以前寫的程序圖片竟然TM都不顯示了。 看了好幾遍文檔沒什么改變, 到底是哪里的問題。
這是官方文檔的解釋
tempFilePath是什么 他其實是個臨時路徑 這種形式 wxFile://tmp_613199421o6zAJs479YJ_PuHvzr__F4NaIF8U1480576019360.JPG
當你src=tempFilePath的時候, 圖片無動于衷(以前這種是OK的), 后來就想上傳到服務器試試, 果不其然, 上傳到服務器可以正常顯示。
====================================================================
代碼很簡單:
wxml
<view>
<view>
<image src="{{imagePath}}"></image>
<image src="http://localhost/upload/{{imagePath}}"></image>
</view>
<view>
<button bindtap="selectImage">選擇圖片</button>
</view>
</view>
js
var app = getApp()
Page({
data: {
imagePath: ""
},
onLoad: function () {
},
selectImage: function() {
var that = this;
wx.chooseImage({
success: function(res) {
var tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: "http://localhost/upload", // 你的接口地址
filePath: tempFilePaths[0],
name: "image",
formData:{
//'user': 'test'
},
success: function(res){
var data = res.data
that.setData({imagePath: data})
}
})
}
})
}
})
后臺
public void index() {
UploadFile uploadFile = getFile("image");
renderJson(uploadFile.getFileName());
}
```
注意:
本地調試需要勾選這個東西
小問題
因為不是表單, 沒有multipart/form-data, 所以會報這個錯誤。 暫時還沒想到怎么搞他
知道的可以說說