handleUploadSuccess(response) { let data = { albumId: this.album.id, url: response.data.url }; let url = 'http://localhost:9180/pictures/add-new'; console.log('url = ' + url); let formData = this.qs.stringify(data); console.log('formData = ' + formData); let localJwt = localStorage.getItem('localJwt') this.axios .create({ 'headers':{ 'Authorization' : localJwt } }) .post(url, formData).then((response) => { let jsonResult = response.data; if (jsonResult.state == 20000) { this.loadPictureList(); } else { this.$alert(jsonResult.message, '警告', { confirmButtonText: '确定', callback: action => { } }); } }); }, // 加载相册的图片列表 loadPictureList() { let url = 'http://localhost:9180//picture/list?queryType=all&albumId=' + this.album.id; console.log('url = ' + url); let localJwt = localStorage.getItem('localJwt') this.axios .create({ 'headers':{ 'Authorization' : localJwt } }) .get(url).then((response) => { let jsonResult = response.data; if (jsonResult.state == 20000) { this.pictureList = jsonResult.data.list; } else { this.$alert(jsonResult.message, '警告', { confirmButtonText: '确定', callback: action => { this.$router.push('/sys-admin/product/album'); } }); } }); }
时间: 2024-02-15 08:28:48 浏览: 87
根据你提供的代码,可以看到 `handleUploadSuccess` 函数中使用了一个 `response` 参数,但是没有进行有效性检查,这可能会导致在上传失败时出现类似的 TypeError 错误提示。
你可以尝试在调用 `handleUploadSuccess` 函数时,先检查 `response` 参数是否存在,以及它是否具有 `data` 对象和 `url` 属性,例如:
```javascript
handleUploadSuccess(response) {
if (response && response.data && response.data.url) {
// ...
} else {
console.error('Invalid response data:', response);
}
// ...
}
```
另外,还需要注意在传递数据给后端的时候,需要将数据格式化为符合后端要求的格式,例如使用 `FormData` 对象或者 `qs` 库进行序列化,具体实现方式需要根据后端 API 的要求来进行选择和调整。
相关问题
filename = 'D:\\study\\喜马拉雅\\评书' if not os.path.exists(filename): os.mkdir(filename) mulu_dizhi = 'https://www.ximalaya.com/revision/album/v1/getTracksList?albumId=30210574&pageNum=1&sort=0&pageSize=30' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36' } mulu_xinxi = requests.get(mulu_dizhi, headers=headers).json() mulu_xinxi = mulu_xinxi['data']['tracks'] # print(mulu_xinxi) for yinpin_xinxi in mulu_xinxi: # print(yinpin_xinxi) yinpin_title = yinpin_xinxi['title'] print(yinpin_title) play_dizhi = f'https://www.ximalaya.com/revision/play/v1/audio?id={yinpin_xinxi["trackId"]}&ptype=1' yinpin_data = requests.get(play_dizhi, headers=headers).json() # print(yinpin_data) yinpin_dizhi = yinpin_data['data']['src'] print(yinpin_dizhi)
这段代码是用来下载喜马拉雅上某个专辑的音频文件。代码首先创建一个目录,然后通过发送HTTP请求获取专辑的音频列表信息。接着遍历音频列表,获取每个音频的标题和播放地址。最后,打印出每个音频的标题和下载地址。
请注意,这段代码使用了`os`、`requests`等库,你需要确保已经正确导入这些库。另外,`mulu_dizhi`是专辑的接口地址,你可以根据需要修改为自己想要下载的专辑。
public class AlbumAction extends PageActionBase { @Override public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return; } public void delete() { String id = request.getParameter("id"); DALBase.delete("album", " where id=" + id); DALBase.delete("albumitem","where albumid='"+id+"'"); binding(); } public void save() { String forwardurl = request.getParameter("forwardurl"); // 验证错误url String errorurl = request.getParameter("errorurl"); String name = request.getParameter("name"); String des = request.getParameter("des"); String xtype = request.getParameter("xtype"); String privilege = request.getParameter("privilege"); String pubren = request.getParameter("pubren"); SimpleDateFormat sdfalbum = new SimpleDateFormat("yyyy-MM-dd"); Album album = new Album(); album.setName(name == null ? "" : name); album.setDes(des == null ? "" : des); album.setXtype(xtype == null ? "" : xtype); album.setPrivilege(privilege == null ? "" : privilege); album.setPubren(pubren == null ? "" : pubren); album.setPubtime(new Date()); album.setTupian(SystemParam.getSiteRoot()+"/upload/pic-none.png"); DALBase.save(album); if (forwardurl == null) { forwardurl = "/admin/albummanager.do?actiontype=get"; } try { response.sendRedirect(SystemParam.getSiteRoot() + forwardurl); } catch (Exception e) { e.printStackTrace(); } }翻译这段代码
这段代码是一个名为"AlbumAction"的Java类,继承了"PageActionBase"类。该类包含了三个方法:onLoad()、delete()和save()。
onLoad()方法会在页面加载时被调用,通过获取请求参数"actiontype"并打印输出来判断是否需要进行后续操作。
delete()方法会获取请求参数"id",并通过调用"DALBase"类的"delete()"方法删除"album"和"albumitem"表中对应id的记录,接着调用"binding()"方法进行数据绑定。
save()方法会获取请求参数"forwardurl"和"errorurl",以及相应的表单参数,创建一个Album对象并调用"DALBase"类的"save()"方法将其保存到数据库中。最后,通过判断"forwardurl"是否为null来重定向到相应的页面。
注意:这段代码中的一些方法和类并未在代码中给出,需要在上下文中理解。
阅读全文